SlideShare ist ein Scribd-Unternehmen logo
1
2
-  3-stufig, für Firmen mit mehreren Standorten
-  Standort-Server entspricht Private Cloud, LAN-Zugriff durch Clients
-  Public Cloud Server außerhalb der Firma für höhere Datensicherheit,
WAN-Zugriff durch Client
-  Dokumente liegen i.A. auf mehreren File-Server->Ausfallsicherheit
-  Manuelle Konfiguration der Dokumentenverteilung, rudimentäre
Automatismen
-  File-Server-Service: Indexierung von Dokumenten, Previews,
optimierte Dokumentenverteilung
-  Markierung eines oder mehrere File-Server als Backup-Server-
>Automatische Verteilung der Dokumente bei Änderung
-  Files-Server-Service optional, Client übernimmt Aufgabe bei Bedarf
3
4
5
6
https://images.huffingtonpost.com/
2016-07-19-1468940023-8065906-CyberHorse1.jpeg
7
-  Bei Zip-Dokumenten ist das unter bestimmten Parametern
tatsächlich so
-  Zips sind wichtiger Bestandteil von PDM, da sie Grundlage für den
Anschluss externer Bearbeitungsprogramme sind
-  CPU<->Netzwerk<->Speicher
-  Ermittlung sinnvoller minimaler Dateigrößen für Delta-Transfer unter
Berücksichtigung der zur Verfügung stehenden Bandbreiten
-  Beschränkung auf bestimmte Datei-Typen notwendig?
-  Analysen laufen aktuell anhand Daten aus produktiven Systemen
-  Sowohl DB-Zugriffe als auch Dateiübertragung ohne direkte
Laufwerkzugriffe
-  Dadurch kann kein Trojaner auf einem Client die Dateien auf
den Servern erreichen
8
9
10
OctoDiv provides a block map of a file to the server, which calculates a
Delta for the client, enabling it to create the modified server version of
the document
xDelta calculates the delta for the server, so he can create a new
version of the document.
11
Where is the logic to control the transaction boundary?
BVH could help, but they have to be build manualy!
12
Poor domain objects, only modelling their target domain specific
behaviour.
-  Hard to add all functionality of an editor to each
ApplicationModel individually
-  No support in Glorp as was existent for the ObjectLens
framework
So enrich the poor objects by using wrapper objects added missing
functionality in a generic way.
13
Where is the logic to control the transaction boundary?
BVH could help, but they have to be build manualy!
14
15
16
17
18
That might be confusing, but it really is much simpler if you see the
save/cancel buttons!
19
Only files and folders, so the constant entries ‘Stammdaten’ and
‘Beteiligte’ are not translated using this infrastructure. They are,
however, translated using the static translations based on UserMessage
catalogs.
Using the Microsoft Translation API inside Azure (https://
azure.microsoft.com/en-us/services/cognitive-services/translator-
text-api/).
The service will only work with the WebServices versions of VisualWorks
8.3.1 and newer.
If Filenames contain $_, it is helpful to break them up into tokens
without $_ , translate them independently, and join them back
afterwards.
20
Only files and folders, so the constant entries ‘Stammdaten’ and
‘Beteiligte’ are not translated using this infrastructure. They are,
however, translated using the static translations based on UserMessage
catalogs.
Using the Microsoft Translation API inside Azure (https://
azure.microsoft.com/en-us/services/cognitive-services/translator-
text-api/).
The service will only work with the WebServices versions of VisualWorks
8.3.1 and newer.
If Filenames contain $_, it is helpful to break them up into tokens
without $_ , translate them independently, and join them back
afterwards.
21
22
Font scaling:
-  Install four TextAttributes as named styles, like ‘PRJ.default’,
‘PRJ.small’, ‘PRJ.medium’, and ‘PRJ.large’
-  Set all UI text definitions to use your default style,
-  On every zoom level adjustment, reinstall the ‘default’ TextAttributes
with the one dedicated to a zoomelevel, and reset the views
-  TextAttributes styleNamed: #'CCS.Standard' put: self
zoomAdaptedSystemFont.

TextAttributes resetViews
23
Display support is busing Cairo graphics!
SVG scaling:
Arrow_Down_Blue_3

^[SVGViewer.ScalableVectorGraphic svgString: ('<svg
xmlns="http://www.w3.org/2000/svg" width="32" height="32"><path
fill="#4d82b8" d="M27 15V7L16 18 5 7v8l11 11 11-11z"/></svg>')]
once
Now scale it:
(SVGAssets Arrow_Down_Blue_3 copy) scale: 2 @ 2;
yourself
24
https://www.youtube.com/watch?v=IvUU8joBb1Q
https://i.ytimg.com/vi/IvUU8joBb1Q/maxresdefault.jpg
25
26
https://www.youtube.com/watch?v=IvUU8joBb1Q
https://i.ytimg.com/vi/IvUU8joBb1Q/maxresdefault.jpg
27

Weitere ähnliche Inhalte

Ähnlich wie Something for the Cloud

Lotus Foundations
Lotus FoundationsLotus Foundations
Lotus Foundations
Andreas Schulte
 
NSI Autostore
NSI Autostore NSI Autostore
NSI Autostore
Thomas Moser
 
Cloud Computing für die Verarbeitung von Metadaten
Cloud Computing für die Verarbeitung von MetadatenCloud Computing für die Verarbeitung von Metadaten
Cloud Computing für die Verarbeitung von Metadaten
Magnus Pfeffer
 
Best Practices SharePoint and SQL Installation
Best Practices SharePoint and SQL InstallationBest Practices SharePoint and SQL Installation
Best Practices SharePoint and SQL Installation
Samuel Zürcher
 
FileMaker Server 12 Datenblatt
FileMaker Server 12 DatenblattFileMaker Server 12 Datenblatt
FileMaker Server 12 Datenblatt
FileMaker GmbH
 
NEW VERSION: Data Quality und SOA
NEW VERSION: Data Quality und SOANEW VERSION: Data Quality und SOA
NEW VERSION: Data Quality und SOA
Uniserv
 
Compact, Compress, De-DUplicate
Compact, Compress, De-DUplicateCompact, Compress, De-DUplicate
Compact, Compress, De-DUplicate
Ulrich Krause
 
Wozu Portlets – reichen HTML5 und Rest nicht aus für moderne Portale?
Wozu Portlets – reichen HTML5 und Rest nicht aus für moderne Portale?Wozu Portlets – reichen HTML5 und Rest nicht aus für moderne Portale?
Wozu Portlets – reichen HTML5 und Rest nicht aus für moderne Portale?
adesso AG
 
KARON Solutions - SAP Dokumentenmanagement
KARON Solutions - SAP DokumentenmanagementKARON Solutions - SAP Dokumentenmanagement
KARON Solutions - SAP Dokumentenmanagement
KARON Beratungsgesellschaft mbH
 
Lotus Foundatons Workshop Teil 2
Lotus Foundatons Workshop Teil 2Lotus Foundatons Workshop Teil 2
Lotus Foundatons Workshop Teil 2
Andreas Schulte
 
Lotus Foundations Workshop Teil1
Lotus Foundations Workshop Teil1Lotus Foundations Workshop Teil1
Lotus Foundations Workshop Teil1
Andreas Schulte
 
Deployment von Entwicklungsumgebungen eines TYPO3-Intranets mit Vagrant
Deployment von Entwicklungsumgebungen eines TYPO3-Intranets mit VagrantDeployment von Entwicklungsumgebungen eines TYPO3-Intranets mit Vagrant
Deployment von Entwicklungsumgebungen eines TYPO3-Intranets mit Vagrant
Christoph Möller
 
Skalierung & Performance
Skalierung & PerformanceSkalierung & Performance
Skalierung & Performance
glembotzky
 
skilllocation Foliensatz zu Microsoft Azure
skilllocation Foliensatz zu Microsoft Azureskilllocation Foliensatz zu Microsoft Azure
skilllocation Foliensatz zu Microsoft Azure
Carola Pantenburg
 
Big Data Konnektivität
Big Data KonnektivitätBig Data Konnektivität
Big Data Konnektivität
Trivadis
 
MCSA 070-740 Prüfungsfragen deutsch
MCSA 070-740 Prüfungsfragen deutschMCSA 070-740 Prüfungsfragen deutsch
MCSA 070-740 Prüfungsfragen deutsch
holgerschmitz2011
 
Mit TransConnect® einfach die Produktion vernetzen: mit wenigen Schritten zur...
Mit TransConnect® einfach die Produktion vernetzen: mit wenigen Schritten zur...Mit TransConnect® einfach die Produktion vernetzen: mit wenigen Schritten zur...
Mit TransConnect® einfach die Produktion vernetzen: mit wenigen Schritten zur...
Stefan Ehrlich
 
Daos
DaosDaos
Nutzen und Anwendungspotentiale von Enterprise Wikis
Nutzen und Anwendungspotentiale von Enterprise WikisNutzen und Anwendungspotentiale von Enterprise Wikis
Nutzen und Anwendungspotentiale von Enterprise Wikis
punkt. netServices
 
Lotus Notes SAP Integration Wünsch AG
Lotus Notes SAP Integration Wünsch AGLotus Notes SAP Integration Wünsch AG
Lotus Notes SAP Integration Wünsch AG
Wünsch AG
 

Ähnlich wie Something for the Cloud (20)

Lotus Foundations
Lotus FoundationsLotus Foundations
Lotus Foundations
 
NSI Autostore
NSI Autostore NSI Autostore
NSI Autostore
 
Cloud Computing für die Verarbeitung von Metadaten
Cloud Computing für die Verarbeitung von MetadatenCloud Computing für die Verarbeitung von Metadaten
Cloud Computing für die Verarbeitung von Metadaten
 
Best Practices SharePoint and SQL Installation
Best Practices SharePoint and SQL InstallationBest Practices SharePoint and SQL Installation
Best Practices SharePoint and SQL Installation
 
FileMaker Server 12 Datenblatt
FileMaker Server 12 DatenblattFileMaker Server 12 Datenblatt
FileMaker Server 12 Datenblatt
 
NEW VERSION: Data Quality und SOA
NEW VERSION: Data Quality und SOANEW VERSION: Data Quality und SOA
NEW VERSION: Data Quality und SOA
 
Compact, Compress, De-DUplicate
Compact, Compress, De-DUplicateCompact, Compress, De-DUplicate
Compact, Compress, De-DUplicate
 
Wozu Portlets – reichen HTML5 und Rest nicht aus für moderne Portale?
Wozu Portlets – reichen HTML5 und Rest nicht aus für moderne Portale?Wozu Portlets – reichen HTML5 und Rest nicht aus für moderne Portale?
Wozu Portlets – reichen HTML5 und Rest nicht aus für moderne Portale?
 
KARON Solutions - SAP Dokumentenmanagement
KARON Solutions - SAP DokumentenmanagementKARON Solutions - SAP Dokumentenmanagement
KARON Solutions - SAP Dokumentenmanagement
 
Lotus Foundatons Workshop Teil 2
Lotus Foundatons Workshop Teil 2Lotus Foundatons Workshop Teil 2
Lotus Foundatons Workshop Teil 2
 
Lotus Foundations Workshop Teil1
Lotus Foundations Workshop Teil1Lotus Foundations Workshop Teil1
Lotus Foundations Workshop Teil1
 
Deployment von Entwicklungsumgebungen eines TYPO3-Intranets mit Vagrant
Deployment von Entwicklungsumgebungen eines TYPO3-Intranets mit VagrantDeployment von Entwicklungsumgebungen eines TYPO3-Intranets mit Vagrant
Deployment von Entwicklungsumgebungen eines TYPO3-Intranets mit Vagrant
 
Skalierung & Performance
Skalierung & PerformanceSkalierung & Performance
Skalierung & Performance
 
skilllocation Foliensatz zu Microsoft Azure
skilllocation Foliensatz zu Microsoft Azureskilllocation Foliensatz zu Microsoft Azure
skilllocation Foliensatz zu Microsoft Azure
 
Big Data Konnektivität
Big Data KonnektivitätBig Data Konnektivität
Big Data Konnektivität
 
MCSA 070-740 Prüfungsfragen deutsch
MCSA 070-740 Prüfungsfragen deutschMCSA 070-740 Prüfungsfragen deutsch
MCSA 070-740 Prüfungsfragen deutsch
 
Mit TransConnect® einfach die Produktion vernetzen: mit wenigen Schritten zur...
Mit TransConnect® einfach die Produktion vernetzen: mit wenigen Schritten zur...Mit TransConnect® einfach die Produktion vernetzen: mit wenigen Schritten zur...
Mit TransConnect® einfach die Produktion vernetzen: mit wenigen Schritten zur...
 
Daos
DaosDaos
Daos
 
Nutzen und Anwendungspotentiale von Enterprise Wikis
Nutzen und Anwendungspotentiale von Enterprise WikisNutzen und Anwendungspotentiale von Enterprise Wikis
Nutzen und Anwendungspotentiale von Enterprise Wikis
 
Lotus Notes SAP Integration Wünsch AG
Lotus Notes SAP Integration Wünsch AGLotus Notes SAP Integration Wünsch AG
Lotus Notes SAP Integration Wünsch AG
 

Mehr von ESUG

Workshop: Identifying concept inventories in agile programming
Workshop: Identifying concept inventories in agile programmingWorkshop: Identifying concept inventories in agile programming
Workshop: Identifying concept inventories in agile programming
ESUG
 
Technical documentation support in Pharo
Technical documentation support in PharoTechnical documentation support in Pharo
Technical documentation support in Pharo
ESUG
 
The Pharo Debugger and Debugging tools: Advances and Roadmap
The Pharo Debugger and Debugging tools: Advances and RoadmapThe Pharo Debugger and Debugging tools: Advances and Roadmap
The Pharo Debugger and Debugging tools: Advances and Roadmap
ESUG
 
Sequence: Pipeline modelling in Pharo
Sequence: Pipeline modelling in PharoSequence: Pipeline modelling in Pharo
Sequence: Pipeline modelling in Pharo
ESUG
 
Migration process from monolithic to micro frontend architecture in mobile ap...
Migration process from monolithic to micro frontend architecture in mobile ap...Migration process from monolithic to micro frontend architecture in mobile ap...
Migration process from monolithic to micro frontend architecture in mobile ap...
ESUG
 
Analyzing Dart Language with Pharo: Report and early results
Analyzing Dart Language with Pharo: Report and early resultsAnalyzing Dart Language with Pharo: Report and early results
Analyzing Dart Language with Pharo: Report and early results
ESUG
 
Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6
Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6
Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6
ESUG
 
A Unit Test Metamodel for Test Generation
A Unit Test Metamodel for Test GenerationA Unit Test Metamodel for Test Generation
A Unit Test Metamodel for Test Generation
ESUG
 
Creating Unit Tests Using Genetic Programming
Creating Unit Tests Using Genetic ProgrammingCreating Unit Tests Using Genetic Programming
Creating Unit Tests Using Genetic Programming
ESUG
 
Threaded-Execution and CPS Provide Smooth Switching Between Execution Modes
Threaded-Execution and CPS Provide Smooth Switching Between Execution ModesThreaded-Execution and CPS Provide Smooth Switching Between Execution Modes
Threaded-Execution and CPS Provide Smooth Switching Between Execution Modes
ESUG
 
Exploring GitHub Actions through EGAD: An Experience Report
Exploring GitHub Actions through EGAD: An Experience ReportExploring GitHub Actions through EGAD: An Experience Report
Exploring GitHub Actions through EGAD: An Experience Report
ESUG
 
Pharo: a reflective language A first systematic analysis of reflective APIs
Pharo: a reflective language A first systematic analysis of reflective APIsPharo: a reflective language A first systematic analysis of reflective APIs
Pharo: a reflective language A first systematic analysis of reflective APIs
ESUG
 
Garbage Collector Tuning
Garbage Collector TuningGarbage Collector Tuning
Garbage Collector Tuning
ESUG
 
Improving Performance Through Object Lifetime Profiling: the DataFrame Case
Improving Performance Through Object Lifetime Profiling: the DataFrame CaseImproving Performance Through Object Lifetime Profiling: the DataFrame Case
Improving Performance Through Object Lifetime Profiling: the DataFrame Case
ESUG
 
Pharo DataFrame: Past, Present, and Future
Pharo DataFrame: Past, Present, and FuturePharo DataFrame: Past, Present, and Future
Pharo DataFrame: Past, Present, and Future
ESUG
 
thisContext in the Debugger
thisContext in the DebuggerthisContext in the Debugger
thisContext in the Debugger
ESUG
 
Websockets for Fencing Score
Websockets for Fencing ScoreWebsockets for Fencing Score
Websockets for Fencing Score
ESUG
 
ShowUs: PharoJS.org Develop in Pharo, Run on JavaScript
ShowUs: PharoJS.org Develop in Pharo, Run on JavaScriptShowUs: PharoJS.org Develop in Pharo, Run on JavaScript
ShowUs: PharoJS.org Develop in Pharo, Run on JavaScript
ESUG
 
Advanced Object- Oriented Design Mooc
Advanced Object- Oriented Design MoocAdvanced Object- Oriented Design Mooc
Advanced Object- Oriented Design Mooc
ESUG
 
A New Architecture Reconciling Refactorings and Transformations
A New Architecture Reconciling Refactorings and TransformationsA New Architecture Reconciling Refactorings and Transformations
A New Architecture Reconciling Refactorings and Transformations
ESUG
 

Mehr von ESUG (20)

Workshop: Identifying concept inventories in agile programming
Workshop: Identifying concept inventories in agile programmingWorkshop: Identifying concept inventories in agile programming
Workshop: Identifying concept inventories in agile programming
 
Technical documentation support in Pharo
Technical documentation support in PharoTechnical documentation support in Pharo
Technical documentation support in Pharo
 
The Pharo Debugger and Debugging tools: Advances and Roadmap
The Pharo Debugger and Debugging tools: Advances and RoadmapThe Pharo Debugger and Debugging tools: Advances and Roadmap
The Pharo Debugger and Debugging tools: Advances and Roadmap
 
Sequence: Pipeline modelling in Pharo
Sequence: Pipeline modelling in PharoSequence: Pipeline modelling in Pharo
Sequence: Pipeline modelling in Pharo
 
Migration process from monolithic to micro frontend architecture in mobile ap...
Migration process from monolithic to micro frontend architecture in mobile ap...Migration process from monolithic to micro frontend architecture in mobile ap...
Migration process from monolithic to micro frontend architecture in mobile ap...
 
Analyzing Dart Language with Pharo: Report and early results
Analyzing Dart Language with Pharo: Report and early resultsAnalyzing Dart Language with Pharo: Report and early results
Analyzing Dart Language with Pharo: Report and early results
 
Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6
Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6
Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6
 
A Unit Test Metamodel for Test Generation
A Unit Test Metamodel for Test GenerationA Unit Test Metamodel for Test Generation
A Unit Test Metamodel for Test Generation
 
Creating Unit Tests Using Genetic Programming
Creating Unit Tests Using Genetic ProgrammingCreating Unit Tests Using Genetic Programming
Creating Unit Tests Using Genetic Programming
 
Threaded-Execution and CPS Provide Smooth Switching Between Execution Modes
Threaded-Execution and CPS Provide Smooth Switching Between Execution ModesThreaded-Execution and CPS Provide Smooth Switching Between Execution Modes
Threaded-Execution and CPS Provide Smooth Switching Between Execution Modes
 
Exploring GitHub Actions through EGAD: An Experience Report
Exploring GitHub Actions through EGAD: An Experience ReportExploring GitHub Actions through EGAD: An Experience Report
Exploring GitHub Actions through EGAD: An Experience Report
 
Pharo: a reflective language A first systematic analysis of reflective APIs
Pharo: a reflective language A first systematic analysis of reflective APIsPharo: a reflective language A first systematic analysis of reflective APIs
Pharo: a reflective language A first systematic analysis of reflective APIs
 
Garbage Collector Tuning
Garbage Collector TuningGarbage Collector Tuning
Garbage Collector Tuning
 
Improving Performance Through Object Lifetime Profiling: the DataFrame Case
Improving Performance Through Object Lifetime Profiling: the DataFrame CaseImproving Performance Through Object Lifetime Profiling: the DataFrame Case
Improving Performance Through Object Lifetime Profiling: the DataFrame Case
 
Pharo DataFrame: Past, Present, and Future
Pharo DataFrame: Past, Present, and FuturePharo DataFrame: Past, Present, and Future
Pharo DataFrame: Past, Present, and Future
 
thisContext in the Debugger
thisContext in the DebuggerthisContext in the Debugger
thisContext in the Debugger
 
Websockets for Fencing Score
Websockets for Fencing ScoreWebsockets for Fencing Score
Websockets for Fencing Score
 
ShowUs: PharoJS.org Develop in Pharo, Run on JavaScript
ShowUs: PharoJS.org Develop in Pharo, Run on JavaScriptShowUs: PharoJS.org Develop in Pharo, Run on JavaScript
ShowUs: PharoJS.org Develop in Pharo, Run on JavaScript
 
Advanced Object- Oriented Design Mooc
Advanced Object- Oriented Design MoocAdvanced Object- Oriented Design Mooc
Advanced Object- Oriented Design Mooc
 
A New Architecture Reconciling Refactorings and Transformations
A New Architecture Reconciling Refactorings and TransformationsA New Architecture Reconciling Refactorings and Transformations
A New Architecture Reconciling Refactorings and Transformations
 

Something for the Cloud

  • 1. 1
  • 2. 2
  • 3. -  3-stufig, für Firmen mit mehreren Standorten -  Standort-Server entspricht Private Cloud, LAN-Zugriff durch Clients -  Public Cloud Server außerhalb der Firma für höhere Datensicherheit, WAN-Zugriff durch Client -  Dokumente liegen i.A. auf mehreren File-Server->Ausfallsicherheit -  Manuelle Konfiguration der Dokumentenverteilung, rudimentäre Automatismen -  File-Server-Service: Indexierung von Dokumenten, Previews, optimierte Dokumentenverteilung -  Markierung eines oder mehrere File-Server als Backup-Server- >Automatische Verteilung der Dokumente bei Änderung -  Files-Server-Service optional, Client übernimmt Aufgabe bei Bedarf 3
  • 4. 4
  • 5. 5
  • 6. 6
  • 8. -  Bei Zip-Dokumenten ist das unter bestimmten Parametern tatsächlich so -  Zips sind wichtiger Bestandteil von PDM, da sie Grundlage für den Anschluss externer Bearbeitungsprogramme sind -  CPU<->Netzwerk<->Speicher -  Ermittlung sinnvoller minimaler Dateigrößen für Delta-Transfer unter Berücksichtigung der zur Verfügung stehenden Bandbreiten -  Beschränkung auf bestimmte Datei-Typen notwendig? -  Analysen laufen aktuell anhand Daten aus produktiven Systemen -  Sowohl DB-Zugriffe als auch Dateiübertragung ohne direkte Laufwerkzugriffe -  Dadurch kann kein Trojaner auf einem Client die Dateien auf den Servern erreichen 8
  • 9. 9
  • 10. 10
  • 11. OctoDiv provides a block map of a file to the server, which calculates a Delta for the client, enabling it to create the modified server version of the document xDelta calculates the delta for the server, so he can create a new version of the document. 11
  • 12. Where is the logic to control the transaction boundary? BVH could help, but they have to be build manualy! 12
  • 13. Poor domain objects, only modelling their target domain specific behaviour. -  Hard to add all functionality of an editor to each ApplicationModel individually -  No support in Glorp as was existent for the ObjectLens framework So enrich the poor objects by using wrapper objects added missing functionality in a generic way. 13
  • 14. Where is the logic to control the transaction boundary? BVH could help, but they have to be build manualy! 14
  • 15. 15
  • 16. 16
  • 17. 17
  • 18. 18
  • 19. That might be confusing, but it really is much simpler if you see the save/cancel buttons! 19
  • 20. Only files and folders, so the constant entries ‘Stammdaten’ and ‘Beteiligte’ are not translated using this infrastructure. They are, however, translated using the static translations based on UserMessage catalogs. Using the Microsoft Translation API inside Azure (https:// azure.microsoft.com/en-us/services/cognitive-services/translator- text-api/). The service will only work with the WebServices versions of VisualWorks 8.3.1 and newer. If Filenames contain $_, it is helpful to break them up into tokens without $_ , translate them independently, and join them back afterwards. 20
  • 21. Only files and folders, so the constant entries ‘Stammdaten’ and ‘Beteiligte’ are not translated using this infrastructure. They are, however, translated using the static translations based on UserMessage catalogs. Using the Microsoft Translation API inside Azure (https:// azure.microsoft.com/en-us/services/cognitive-services/translator- text-api/). The service will only work with the WebServices versions of VisualWorks 8.3.1 and newer. If Filenames contain $_, it is helpful to break them up into tokens without $_ , translate them independently, and join them back afterwards. 21
  • 22. 22
  • 23. Font scaling: -  Install four TextAttributes as named styles, like ‘PRJ.default’, ‘PRJ.small’, ‘PRJ.medium’, and ‘PRJ.large’ -  Set all UI text definitions to use your default style, -  On every zoom level adjustment, reinstall the ‘default’ TextAttributes with the one dedicated to a zoomelevel, and reset the views -  TextAttributes styleNamed: #'CCS.Standard' put: self zoomAdaptedSystemFont.
 TextAttributes resetViews 23
  • 24. Display support is busing Cairo graphics! SVG scaling: Arrow_Down_Blue_3
 ^[SVGViewer.ScalableVectorGraphic svgString: ('<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32"><path fill="#4d82b8" d="M27 15V7L16 18 5 7v8l11 11 11-11z"/></svg>')] once Now scale it: (SVGAssets Arrow_Down_Blue_3 copy) scale: 2 @ 2; yourself 24
  • 26. 26