This document summarizes the plone.app.multilingual project, which provides next-generation multilingual capabilities for Plone sites. It describes the history and goals of the project, how it supports both Archetypes and Dexterity content types, and its key features like language root folders, unified translation editing, and integration with translation services. The roadmap includes improvements to the LinguaPlone migration, user interface, and additional tools. Participation in upcoming Plone sprints is encouraged to further develop this open source project.
Using Aspects for Language Portability (SCAM 2010)lennartkats
Software platforms such as the Java Virtual Machine or the CLR .NET virtual machine have their own ecosystem of a core programming language or instruction set, libraries, and developer community. Programming languages can target multiple software platforms to increase interoperability or to boost performance. Introducing a new compiler backend for a language is the first step towards targeting a new platform, translating the language to the platform\'s language or instruction set. Programs written in modern languages generally make extensive use of APIs, based on the runtime system of the software platform, introducing additional portability concerns. They may use APIs that are implemented by platform-specific libraries. Libraries may perform platform-specific operations, make direct native calls, or make assumptions about performance characteristics of operations or about the file system. This paper proposes to use aspect weaving to invasively adapt programs and libraries to address such portability concerns, and identifies four classes of aspects for this purpose. We evaluate this approach through a case study where we retarget the Stratego program transformation language towards the Java Virtual Machine.
A small presentation of the LIL programming language. Please note that the URLs presented there are not valid anymore. Use http://runtimelegend.com/rep/lil instead of the GitHub URL.
The Spoofax Language Workbench (SPLASH 2010)lennartkats
Spoofax is a language workbench for efficient, agile development of textual domain-specific languages with state-of-the-art IDE support. It provides a comprehensive environment that integrates syntax definition, program transformation, code generation, and declarative specification of IDE components.
Remix Your Language Tooling (JSConf.eu 2012)lennartkats
JavaScript has a vivid ecosystem of a passionate developer community, libraries, and tools. New frameworks keep pushing the boundaries what you can do with it, and the language family is rapidly expanding with new cousins; TypeScript being the latest. We’re building language tooling to provide an integrated experience with static error checks, code completion, API documentation, and so on. But how can we keep up with this changing environment? Let’s talk about effectively building language tools.
Using Aspects for Language Portability (SCAM 2010)lennartkats
Software platforms such as the Java Virtual Machine or the CLR .NET virtual machine have their own ecosystem of a core programming language or instruction set, libraries, and developer community. Programming languages can target multiple software platforms to increase interoperability or to boost performance. Introducing a new compiler backend for a language is the first step towards targeting a new platform, translating the language to the platform\'s language or instruction set. Programs written in modern languages generally make extensive use of APIs, based on the runtime system of the software platform, introducing additional portability concerns. They may use APIs that are implemented by platform-specific libraries. Libraries may perform platform-specific operations, make direct native calls, or make assumptions about performance characteristics of operations or about the file system. This paper proposes to use aspect weaving to invasively adapt programs and libraries to address such portability concerns, and identifies four classes of aspects for this purpose. We evaluate this approach through a case study where we retarget the Stratego program transformation language towards the Java Virtual Machine.
A small presentation of the LIL programming language. Please note that the URLs presented there are not valid anymore. Use http://runtimelegend.com/rep/lil instead of the GitHub URL.
The Spoofax Language Workbench (SPLASH 2010)lennartkats
Spoofax is a language workbench for efficient, agile development of textual domain-specific languages with state-of-the-art IDE support. It provides a comprehensive environment that integrates syntax definition, program transformation, code generation, and declarative specification of IDE components.
Remix Your Language Tooling (JSConf.eu 2012)lennartkats
JavaScript has a vivid ecosystem of a passionate developer community, libraries, and tools. New frameworks keep pushing the boundaries what you can do with it, and the language family is rapidly expanding with new cousins; TypeScript being the latest. We’re building language tooling to provide an integrated experience with static error checks, code completion, API documentation, and so on. But how can we keep up with this changing environment? Let’s talk about effectively building language tools.
Aviso nº 3 CONTRATAÇÃO DE ESCOLA Técnicos EspecializadosPedro França
CONTRATAÇÃO DE ESCOLA
AVISO Nº 3 - 2016/2017
Técnicos Especializados
Nos termos do ponto 4 do artigo 39º do Decreto-lei nº 132/2012,de 27 de junho, republicado pelo Decreto-Lei nº 83-A/2014,de 23 de maio e demais legislação aplicável, torna-se público que para suprir necessidades temporárias de serviço se encontram abertos, pelo prazo de três dias úteis, os procedimentos concursais para a seleção e recrutamento de um Técnico Especializado, na área abaixo mencionada tendo como suporte a aplicação informática disponibilizada na página da Direção Geral da Administração escolar (DGAE)
Comparison of the results of the 2013 brand value league tables published by Interbrand, Brand Finance, Millward Brown and the European Brand Institute.
The presentation provides a summary of the methodologies used, and the valuations of the top 30 brands from each league table.
It compares the values attributed to the 28 brands that appear on all 4 lists, and the assessment of whether they are increasing or decreasing in value.
Using the DITA XML standard can bring enormous improvements in the efficiency of localizing documentation. Some organizations report efficiency gains of 30-50% over traditional desktop publishing systems, and use the savings to expand further into global markets. This session gives a practical set of steps and guidelines for delivering your content smoothly and quickly in multiple languages. We will cover how to mark up content, how localization affects reuse, how to work with translators, and issues in generating localized deliverables. You'll learn about the big picture of how translation works in DITA, what steps you need to include in your process in order to get high-quality results, and exactly how to avoid common pitfalls that tend to make localization tricky.
Beyond 49x Transformers: Don't be afraid of (the) Python!Safe Software
This session gives a short introduction for the usage of Python scripts in FME Desktop processes. First it will be demonstrated how to compute buildings’ roof heights at certain ground points with the PythonCaller and an external Python package. The second demo shows how to persist the FME logfile and the runtime statistics into a central database via Python shutdown script for all those who do not have a FME Server at hand (for now).
See more presentations and videos at: www.safe.com/fmeuc
WHY
WHERE
HOW
WHEN
WHO
FOR WHAT
Defining Data Science
• What Does a Data Science Professional Do?
• Data Science in Business
• Use Cases for Data Science
1. IDPF & EPUB Introduction
2. IDPF, the Last Year
(a) epubcheck 1.0.5, EPUB 2.0.1
(b) EPUB Logo
(c) EPUB 2.1 Working Group
3.IDPF, the Coming Year
(a) EPUB Logo, epubcheck 1.0.6
(b) EPUB 2.1 Development
(c) EPUB Maintenance and Conformance Suite
4. EPUB Presentational Fidelity
5. EPUB Rich Content Demo (time permitting)
[EclipseCon France 2017] Language Server Protocol in actionMickael Istria
The Language Server Protocol in a popular IDE-independent and Language-independent interface to provide and consume language edition services - such as code analysis, completion, hyperlinking... It basically lets the language providers implement the protocol as a server, and the IDEs consume the protocol as a client to have the IDEs presenting the language-specific data without having to know about the language.
This protocol already has multiple successful stories. In this talk we’ll demonstrate:
* How a C# language server can be used in Eclipse IDE (thanks to LSP4E) to provide rich C# edition capabilities
* How a Java language server implemented on top of JDT is integrated into VSCode to have VSCode supporting rich Java edition capabilities
* How you can easily write a language server in Java (with LSP4J) and plug it into Eclipse IDE (with LSP4E) and VSCode and demonstrate how easy it becomes to ship additional features for your language in all tools at once.
Elevating Tactical DDD Patterns Through Object CalisthenicsDorra BARTAGUIZ
After immersing yourself in the blue book and its red counterpart, attending DDD-focused conferences, and applying tactical patterns, you're left with a crucial question: How do I ensure my design is effective? Tactical patterns within Domain-Driven Design (DDD) serve as guiding principles for creating clear and manageable domain models. However, achieving success with these patterns requires additional guidance. Interestingly, we've observed that a set of constraints initially designed for training purposes remarkably aligns with effective pattern implementation, offering a more ‘mechanical’ approach. Let's explore together how Object Calisthenics can elevate the design of your tactical DDD patterns, offering concrete help for those venturing into DDD for the first time!
Key Trends Shaping the Future of Infrastructure.pdfCheryl Hung
Keynote at DIGIT West Expo, Glasgow on 29 May 2024.
Cheryl Hung, ochery.com
Sr Director, Infrastructure Ecosystem, Arm.
The key trends across hardware, cloud and open-source; exploring how these areas are likely to mature and develop over the short and long-term, and then considering how organisations can position themselves to adapt and thrive.
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...James Anderson
Effective Application Security in Software Delivery lifecycle using Deployment Firewall and DBOM
The modern software delivery process (or the CI/CD process) includes many tools, distributed teams, open-source code, and cloud platforms. Constant focus on speed to release software to market, along with the traditional slow and manual security checks has caused gaps in continuous security as an important piece in the software supply chain. Today organizations feel more susceptible to external and internal cyber threats due to the vast attack surface in their applications supply chain and the lack of end-to-end governance and risk management.
The software team must secure its software delivery process to avoid vulnerability and security breaches. This needs to be achieved with existing tool chains and without extensive rework of the delivery processes. This talk will present strategies and techniques for providing visibility into the true risk of the existing vulnerabilities, preventing the introduction of security issues in the software, resolving vulnerabilities in production environments quickly, and capturing the deployment bill of materials (DBOM).
Speakers:
Bob Boule
Robert Boule is a technology enthusiast with PASSION for technology and making things work along with a knack for helping others understand how things work. He comes with around 20 years of solution engineering experience in application security, software continuous delivery, and SaaS platforms. He is known for his dynamic presentations in CI/CD and application security integrated in software delivery lifecycle.
Gopinath Rebala
Gopinath Rebala is the CTO of OpsMx, where he has overall responsibility for the machine learning and data processing architectures for Secure Software Delivery. Gopi also has a strong connection with our customers, leading design and architecture for strategic implementations. Gopi is a frequent speaker and well-known leader in continuous delivery and integrating security into software delivery.
Neuro-symbolic is not enough, we need neuro-*semantic*Frank van Harmelen
Neuro-symbolic (NeSy) AI is on the rise. However, simply machine learning on just any symbolic structure is not sufficient to really harvest the gains of NeSy. These will only be gained when the symbolic structures have an actual semantics. I give an operational definition of semantics as “predictable inference”.
All of this illustrated with link prediction over knowledge graphs, but the argument is general.
Generating a custom Ruby SDK for your web service or Rails API using Smithyg2nightmarescribd
Have you ever wanted a Ruby client API to communicate with your web service? Smithy is a protocol-agnostic language for defining services and SDKs. Smithy Ruby is an implementation of Smithy that generates a Ruby SDK using a Smithy model. In this talk, we will explore Smithy and Smithy Ruby to learn how to generate custom feature-rich SDKs that can communicate with any web service, such as a Rails JSON API.
Connector Corner: Automate dynamic content and events by pushing a buttonDianaGray10
Here is something new! In our next Connector Corner webinar, we will demonstrate how you can use a single workflow to:
Create a campaign using Mailchimp with merge tags/fields
Send an interactive Slack channel message (using buttons)
Have the message received by managers and peers along with a test email for review
But there’s more:
In a second workflow supporting the same use case, you’ll see:
Your campaign sent to target colleagues for approval
If the “Approve” button is clicked, a Jira/Zendesk ticket is created for the marketing design team
But—if the “Reject” button is pushed, colleagues will be alerted via Slack message
Join us to learn more about this new, human-in-the-loop capability, brought to you by Integration Service connectors.
And...
Speakers:
Akshay Agnihotri, Product Manager
Charlie Greenberg, Host
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf91mobiles
91mobiles recently conducted a Smart TV Buyer Insights Survey in which we asked over 3,000 respondents about the TV they own, aspects they look at on a new TV, and their TV buying preferences.
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...UiPathCommunity
💥 Speed, accuracy, and scaling – discover the superpowers of GenAI in action with UiPath Document Understanding and Communications Mining™:
See how to accelerate model training and optimize model performance with active learning
Learn about the latest enhancements to out-of-the-box document processing – with little to no training required
Get an exclusive demo of the new family of UiPath LLMs – GenAI models specialized for processing different types of documents and messages
This is a hands-on session specifically designed for automation developers and AI enthusiasts seeking to enhance their knowledge in leveraging the latest intelligent document processing capabilities offered by UiPath.
Speakers:
👨🏫 Andras Palfi, Senior Product Manager, UiPath
👩🏫 Lenka Dulovicova, Product Program Manager, UiPath
Epistemic Interaction - tuning interfaces to provide information for AI supportAlan Dix
Paper presented at SYNERGY workshop at AVI 2024, Genoa, Italy. 3rd June 2024
https://alandix.com/academic/papers/synergy2024-epistemic/
As machine learning integrates deeper into human-computer interactions, the concept of epistemic interaction emerges, aiming to refine these interactions to enhance system adaptability. This approach encourages minor, intentional adjustments in user behaviour to enrich the data available for system learning. This paper introduces epistemic interaction within the context of human-system communication, illustrating how deliberate interaction design can improve system understanding and adaptation. Through concrete examples, we demonstrate the potential of epistemic interaction to significantly advance human-computer interaction by leveraging intuitive human communication strategies to inform system design and functionality, offering a novel pathway for enriching user-system engagements.
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualityInflectra
In this insightful webinar, Inflectra explores how artificial intelligence (AI) is transforming software development and testing. Discover how AI-powered tools are revolutionizing every stage of the software development lifecycle (SDLC), from design and prototyping to testing, deployment, and monitoring.
Learn about:
• The Future of Testing: How AI is shifting testing towards verification, analysis, and higher-level skills, while reducing repetitive tasks.
• Test Automation: How AI-powered test case generation, optimization, and self-healing tests are making testing more efficient and effective.
• Visual Testing: Explore the emerging capabilities of AI in visual testing and how it's set to revolutionize UI verification.
• Inflectra's AI Solutions: See demonstrations of Inflectra's cutting-edge AI tools like the ChatGPT plugin and Azure Open AI platform, designed to streamline your testing process.
Whether you're a developer, tester, or QA professional, this webinar will give you valuable insights into how AI is shaping the future of software delivery.
Securing your Kubernetes cluster_ a step-by-step guide to success !KatiaHIMEUR1
Today, after several years of existence, an extremely active community and an ultra-dynamic ecosystem, Kubernetes has established itself as the de facto standard in container orchestration. Thanks to a wide range of managed services, it has never been so easy to set up a ready-to-use Kubernetes cluster.
However, this ease of use means that the subject of security in Kubernetes is often left for later, or even neglected. This exposes companies to significant risks.
In this talk, I'll show you step-by-step how to secure your Kubernetes cluster for greater peace of mind and reliability.
2. Ramon Navarro Bosch
CTO at Iskra.cat
Developing Plone sites since 2003
Part time musician
- Ramon's blog / @bloodbare
3. Víctor Fernández de Alba
Lead web developer at Universitat Politècnica de Catalunya - Barcelona Tech
Author of Plone 3 Intranets (2010, Packt)
Developing Plone sites since 2004
- Víctor's Blog / @sneridagh
4. History
Project started at Girona (Catalonia) sprint in 2005
Gathered some of the Plone Rock Stars
Design decisions, base infrastructure
Only for AT, DX doesn’t even exist yet
5. LinguaPlone
Great product created by Jarn
“De facto” standard multilingual story for Plone
Only supports AT
Now in “legacy” status
Used (literally) in every Plone site (I've) deployed
Lots of experience embedded
6. LinguaPlone design facts
Stores translation relations into objects
Uses catalog patches to hide content depending on current language
Relies in class inheritance to extend standard AT functionalities
Not compatible with dexterity content types
7. Enter PAM
Uses ZCA technologies
AT and DX compatible
Manage translations via unified UI
11. Language root folders
Created on PAM setup
(Language control panel)
Plone folders implementing INavigationRoot
Subscribers in place...
... to guarantee integrity
... so each language is “jailed” inside its own LRF
12. Babel view
Unified edit form either for AT and DX
Not forced every time you edit a content
LP like, but with vitamins
Instant access (ajaxified) to other available translations in the left panel
13. Language independent fields
No canonical implies changes in LIFs behavior
Users can change the content inside a LIF and it gets replicated to other
translation objects
14. Marking LIFs in AT
Same way as in LP
aaiSrnFed
tp.tigil(
'yil'
mFed,
wde=tp.tigigt
igtaaiSrnWde(
..
..
),
lnugIdpnetTu
agaeneedn=re
),
15. Marking LIFs in DX
Grok directive
In content type declaration class
fo poemliigabhvo ipr drcie
rm ln.utlnuleair mot ietvs
drcie.agaeneedn(fed)
ietvslnugidpnet'il'
16. Marking LIFs in DX
Supermodel
In your content type XML file declaration
<il nm=mFed
fed ae"yil"
tp=zp.ceaTxLn"
ye"oeshm.etie
lnu:needn=tu"
igaidpnet"re>
<ecito /
dsrpin >
<il>yil<tte
ttemFed/il>
<fed
/il>
17. Marking LIFs in DX
Native
In your code
fo poemliigabhvo.nefcsipr IagaeneednFed
rm ln.utlnuleairitrae mot LnugIdpnetil
asPoie(Shm[mFed] IagaeneednFed
lorvdsIcea'yil', LnugIdpnetil)
18. Marking LIFs in DX
Through the web
Via the content type definition in the Dexterity Content Types control panel.
19. Language selector policy
There are two policies in place in case the translation of a specific language does
not exist (yet):
LP way, the selector shows the nearest translated container
Shows the user an informative view that shows the current available translations
for the current content
20. Neutral root folder support
As a necessity due to LRFs
There are use cases where “neutral” content is a must
Assets, resources, media, documents...
21. Translation map
Aid for mental sanity of site editors
Graphical way to show content and its related translations
List of untranslated content (for mirror-translated sites)
22. Google Translation service
Integration with GTS (paid service)
Icon in Babel view
Setup API key in Language control panel
23. LinguaPlone migration
Migration tab in Languages control panel
Non-destructive
Lookup your code for LP dependencies before migrating
Still rough edges, should be addressed in sprint
29. Why?
Modify translation without waking objects
Direct translation map
Easier to work on all translations (import/export)
Too much catalog!!
30. Unified get/set language
Unified adapter for AT and DX
fo poemliiga.nefcsipr Iagae
rm ln.utlnulitrae mot Lnug
lnug =Iagaecnet.e_agae)
agae Lnug(otx)gtlnug(
lnug =Iagaecnet.e_agae'a)
agae Lnug(otx)stlnug(c'
32. Roadmap
XLIFF export/import
Removing catalog patch
Iterate support
LinguaPlus/Linguatools set of useful tools
Locator translation policy
Outdated translations alerts and translation workflows support
35. Special thanks to...
Anne Walter
Jonathan Lewis
Martijn Pieters
Martin Aspeli
David Glick
Patrick Gerken
Thomas Masmann
Jean Carel Brand
Mikel Larreategui
36. Thank you!
Questions?
Ramon Navarro Bosch (@bloodbare)
Víctor Fernández de Alba (@sneridagh)
http://github.com/plone/plone.app.multilingual
http://pypi.org/plone.app.multilingual
http://pam.iskra.cat