You are here: Home

Modified items

All recently modified items, latest first.
RPMPackage plone.app.theming-1.3.6-1.lbn25.noarch
Introduction In Plone versions 4.3 and higher you can edit your website theme through web browser in Plone's site setup control panel. Only HTML, CSS and little XML knowledge needed as the prerequisitements. This guide explains how to use this feature of Plone. See introduction video to plone.app.theming. What is a Diazo theme? A "theme" makes a website (in this case, one powered by Plone) take on a particular look and feel. Diazo (formerly known as XDV) is a technology that can be used to theme websites. It is not specific to Plone per se, but has been created by the Plone community and, as of Plone 4.3, provides the default way to apply a theme to a Plone site. You can learn more about Diazo at http://diazo.org. Diazo themes may be a little different to themes you have created in other systems, and indeed to themes you may have created for earlier versions of Plone. A Diazo theme is really about transforming some content - in this case the output from "vanilla" Plone - into a different set of HTML markup by applying a set of rules to combine a static HTML mock-up of the end result you want with the dynamic content coming from Plone. In comparison, the previous way to theme a Plone site (like the way many other content management systems are themed) relies on selectively overriding the templates and scripts that Plone uses to build a page with custom versions that produce different HTML markup. The latter approach can be more powerful, certainly, but also requires much deeper knowledge of Plone's internals and command of server-side technologies such as Zope Page Templates and even Python. Diazo themes, by contrast, are easy to understand for web designers and non- developers alike. A Diazo theme consists of three elements: One or more HTML mockups, also referred to as theme files, that represent the desired look and feel. These will contain placeholders for content that is to be provided by the Plone content management system. Mockups usually reference CSS, JavaScript and image files by relative path. The most common way to create a theme is to use desktop software like Dreamweaver or a text editor to create the relevant markup, styles and scripts, and test the theme locally in a web browser. The content that is being themed. In this case, that is the output from Plone. A rules file, which defines how the placeholders in the theme (i.e. the HTML mockup) should be replaced by relevant markup in the content. The rules file uses XML syntax (similar to HTML). Here is a very simple example: <?xml version="1.0" encoding="UTF-8"?> <rules xmlns="http://namespaces.plone.org/diazo" xmlns:css="http://namespaces.plone.org/diazo/css" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">` <theme href="theme.html" /> <replace css:content-children="#content" css:theme-children="#main" /> </rules> Here, we are replacing the contents (child nodes) of a placeholder element with HTML id main in the theme file (theme.html, found in the same directory as the rules.xml file, as referenced by the <theme /> rule) with the contents (children) of the element with the HTML id content in the markup generated by Plone. When this theme is applied, the result will look very much like the static HTML file theme.html (and its referenced CSS, JavaScript and image files), except the placeholder that is identified by the node in the theme with id main will be filled by Plone's main content area. Plone ships with an example theme called, appropriately, Example theme, which uses the venerable Twitter Bootstrap to build a simple yet functional theme exposing most of Plone's core functionality. You are advised to study it - in particular the rules.xml file - to learn more about how Diazo themes work. Using the control panel After installation of the Diazo theme support package in a Plone site, the Theming control panel will appear in Plone's Site setup. The main tab of this control panel, Themes, will show all available themes, with buttons to activate/deactivate, modify, copy or delete each, as well as buttons to create new themes or bring up this help text. Click on a theme preview image to open a preview of that theme in a new tab or window. The preview is navigable, but form submissions and some advanced features will not work. Selecting a theme To apply an existing theme, simply click the Activate button underneath the theme preview. The currently active theme will be highlighted in yellow. If you deactivate the currently active theme, no Diazo theme will be applied, i.e. "vanilla" Plone theming will apply. Note: The Theming control panel is never theemd, ensuring that you can always deactivate an errant theme that could render the control panel unusable. Thus, you may not see any difference immediately after enabling a theme. Simply navigate to another page in the Plone site, though, and you should see the theme applied. Creating a new theme New themes can be created in one of two ways: Click the New theme button at the top of the Themes tab in the Theming control panel and enter a title and description in the form that appears. A bare-bones theme will be created, and you will be taken to the Modify theme screen (see below), where you can edit or create theme and rules files. Click the Copy button underneath any existing theme and enter a title and description in the form that appears. A new theme will be created as a copy of the existing theme, and you will be taken to the Modify theme (see below), where you can edit or create theme and rules files. Uploading an existing theme Themes can be distributed as Zip files, containing the HTML mockup and rules file. To download an existing theme, click the Download button underneath the theme on the Themes tab of the Theming control panel. To upload such a Zip file into another site, use the Upload Zip file button on the Themes tab of the Theming control panel. You can choose whether or not to replace any existing theme with the same name (based on the name of the top-level directory contained within the Zip file). You can also upload a Zip file of a static HTML mockup that does not contain a rules file, such as a design provided by a Plone-agnostic web designer. In this case, a basic rules.xml file will be added for you to start building up a theme from using the Modify theme screen (see below). The generated rules file will assume the main HTML mockup file is called index.html, but you can change this in rules.xml. Once you have successfully uploaded a theme Zip file, you will be taken to the Modify theme screen (see below), where you can edit or create theme files. Hint: If you get an error message like "The uploaded file does not contain a valid theme archive", this usually means that you have uploaded a Zip file that contains multiple files and folders, rather than a single top level folder with all the theme resources in it. This could happen if you compressed a theme or HTML mockup by adding its files and folders directly a Zip archive, rather than compressing the directory in which they were found. To fix this, simply unzip the archive on your computer into a new directory, move up a level, and compress this directory on its own into a new Zip file, which you can then upload. Modifying the theme You can modify a theme by clicking Modify theme underneath a theme in the Themes tab of the Theming control panel. This screen is also launched automatically when you create or upload a new theme. Note: Only themes created or uploaded through the Theming control panel can be modified through Plone. Themes installed by third-party add-ons or distributed on the filesystem cannot, although changes made on the filesystem will be reflected immediately if Zope is running in debug mode. To modify a filesystem theme, you can copy it to a new in-Plone theme by clicking the Copy button underneath the theme in the Theming control panel. The Modify theme screen initially shows a file manager, with a file tree on the left and an editor on the right. Click on a file in the file tree to open an editor or preview: HTML, CSS, JavaScript and other text files can be edited directly through the editor. Other files (e.g. images) will be rendered as a preview. Note: The advanced editor with syntax highlighting is not available in Microsoft Internet Explorer. Click New folder to create a new folder. You can also right-click on a folder in the file tree to bring up this action. Click New file to create a new text file. You can also right-click on a folder in the file tree to bring up this action. Click Upload file to upload a file from your computer. You can also right- click on a folder in the file tree to bring up this action. Click Preview theme to preview the theme as it will be applied with the mockup and rules as currently saved. The preview is navigable, but forms and certain advanced features will not work. To save the file currently being edited, click the Save file button, or use the keyboard shortcut Ctrl+S (Windows/Linux) or Cmd+S (Mac). To rename or delete a file or folder, right-click on it in the file tree and select the appropriate action. The theme inspector The theme inspector provides an advanced interface for discovering and building up the rules of a Diazo theme. It can be launched by clicking the Show inspectors button on the Modify theme screen for in-Plone themes, or by clicking the Inspect theme button underneath a filesystem theme on the Themes tab of the Theming control panel. The theme inspector consists of two panels: The HTML mockup. If there are several HTML files in the theme, you can switch between them using the drop-down list underneath the HTML mockup panel. The Unthemed content. This shows Plone without any theme applied. Either panel can be maximised by clicking the arrows icon at the top right of either. The HTML mockups and Unthemed content panels can be switch to source view, showing their underlying HTML markup, by clicking the tags icon at the top right of either. As you hover over elements in the HTML mockup or Unthemed content panels, you will see: An outline showing the element under the cursor. A CSS or XPath selector in the status bar at the bottom if the panel which would uniquely identify this element in a Diazo rule. Click on an element or press Enter whilst hovering oveer an element to select it. The most recently selected element in each panel is shown in the bottom right of the relevant status bar. Press Esc whilst hovering over an element to select its parent. This is useful when trying to select "invisible" container elements. Press Enter to save this selection. The contents of the HTML mockup or (more commonly) Unthemed content panels can be navigated, for example to get to a content page that requires specific theme rules, by disabling the inspector. Use the toggle switches at the bottom right of the relevant panel to enable or disable the selector. The rule builder Click the Build rule button near the top of the Modify theme or Inspect theme screen to launch an interactive rule building wizard. You will be asked which type of rule to build, and then prompted to select the relevant elements in the HTML mockup and/or Unthemed content panels as required. By default, this will use any saved selections, unless you untick the Use selected elements box on the first page if the wizard. Once the wizard completes, you will be shown the generated rule. You can edit this if you wish. If you click Insert, the newly generated rule will be inserted into the rules.xml editor at or near your current cursor position. You can move it around or edit it further as you wish. Click Preview theme to preview the theme in a new tab or window. Don't forget to save the rules.xml file if you have made changes. Note: In readonly mode, you can build rules and inspect the HTML mockup and theme, but not change the rules.xml file. In this case, the Insert button of the rule builder (see below) will not be available either. Note: The ability to insert rules from the Build rule wizard are not available in Microsoft Internet Explorer, although you will be given the option to copy the rule to the clipboard when using this browser. Advanced settings The Theming control panel also contains a tab named Advanced settings. Here be dragons. The Advanced setings tab is divided into two areas. The first, Theme details, contains the underlying settings that are modified when a theme is applied from the Themes control panel. These are: Whether or not Diazo themes are enabled at all. The path to the rules file, conventionally called rules.xml, either relative to the Plone site root or as an absolute path to an external server. The prefix to apply when turning relative paths in themes (e.g. references to images in an <img /> tag's src attribute) into absolute ones at rendering time. The HTML DOCTYPE to apply to the rendered output, if different to the default XHTML 1.0 Transitional. Whether or not to allow theme resources (likes rules.xml) to be read from the network. Disabling this gives a modest performance boost. A list of host names for which a theme is never applied. Most commonly, this contains 127.0.0.1, allowing you to view an unthemed site through http://127.0.0.1:8080 and a themed one at http://localhost:8080 during development, say. A list of theme parameters and the TALES expressions to generate them (see below). The second, Theme base, controls the presentation of the unthemed content, and apply even if no Diazo theme is being applied. These are the settings that used to be found in the Themes control panel in previous versions of Plone.
RPMPackage plone.app.themeeditor-1.0a8-1.lbn19.noarch
The theme editor makes it possible to customize most aspects of a plone theme from a single location. After installation a new entry is added to the Plone "site setup" control panel called "Theme Editor." Using the themeeditor Log into your Plone site as a Manager Navigate to Site Setup Select Theme Editor
RPMPackage plone.app.textfield-1.2.11-1.lbn25.noarch
This package provides a zope.schema style field type called RichText which can be used to store a value with a related MIME type. The value can be transformed to an output MIME type, for example to transform from structured text to HTML.
RPMPackage plone.app.testing-4.2.7-1.lbn25.noarch
plone.app.testing provides tools for writing integration and functional tests for code that runs on top of Plone. It is based on plone.testing. If you are unfamiliar with plone.testing, the concept of layers, or the zope.testing testrunner, please take a look at the the plone.testing documentation. In fact, even if you are working exclusively with Plone, you are likely to want to use some of its features for unit testing. In short, plone.app.testing includes: A set of layers that set up fixtures containing a Plone site, intended for writing integration and functional tests. A collection of helper functions, some useful for writing your own layers and some applicable to tests themselves. A convenient layer base class, extending plone.testing.Layer, which makes it easier to write custom layers extending the Plone site fixture, with proper isolation and tear-down. Cleanup hooks for zope.testing.cleanup to clean up global state found in a Plone installation. This is useful for unit testing.
RPMPackage plone.app.stagingbehavior-0.1-4.lbn19.noarch
The IStagingSupport behavior is used for enabling the plone.app.iterate functionality for Dexterity content. It allows you to perform the checkout and checkin operations to work on a copy of your original content.
RPMPackage plone.app.search-1.2.2-1.lbn25.noarch
plone.app.search combines search results listing with Advanced Search form. This provides search results view for Plone CMS with possibilities to filter, sort and apply advanced filters to the search results without. When changing a search criteria on the search view, AJAX call is delivering you the updated results instead of reloaded page that lets you get to what you're searching for faster without much distraction caused by page reloading. The package is part of Plone 4.1. plone.app.search also updates main search field (usually located at the top right of your Plone site by default) and search portlet to return results in the updated listing view. plone.app.search has the aim to give intuitively clear and understandable interface for searching in Plone. But there might be some new things that are not so obvious. Let's see how the search results works now.
RPMPackage plone.app.robotframework-1.2.3-1.lbn25.noarch
plone.app.robotframework provides Robot Framework compatible resources and tools for writing functional Selenium tests (including acceptance tests) for Plone CMS and its add-ons. Plone/Robot Framework requires robot-server and an appropriate test layer: $ robot-server my.product.testing.MY_PRODUCT_ROBOT_TESTING To test plone.app.robotframework, this command would be something like: $ robot-server --no-reload plone.app.robotframework.testing.PLONE_ROBOT_TESTING Then we suggest something like the python-robotframework-ride graphical editor to open, run, and report Robotframework tests.
RPMPackage plone.app.relations-2.0-1.lbn19.noarch
A set of components to provide a content centric API for the engine from plone.relations, as well as a few different core relationship types and policies. See the package README.txt for details on usage.
RPMPackage plone.app.relationfield-1.2.3-1.lbn25.noarch
Plone support for z3c.relationfield
RPMPackage plone.app.registry-1.6.1-1.lbn25.noarch
plone.app.registry provides Plone UI and GenericSetup integration for plone.registry, which in turn implements a configuration registry for Zope applications. For details about how the registry works, please see the plone.registry documentation. What follows is a brief overview of common usage patterns in Plone.
RPMPackage plone.app.referenceablebehavior-0.7.8-1.lbn19.noarch
The “IReferenceable” behavior is used for enabling UUID (plone.app.uuid) support for dexterity contents, like in archetypes content types. This allow for example references between archetypes and dexterity content types. Note: It can’t work with Plone==4.0 because it is based on plone.uuid integration in CMF. It is compatible with Plone>=4.1
RPMPackage plone.app.redirector-1.2.2-1.lbn25.noarch
============ Bring dead links back to life! plone.app.redirector knows where your content used to be and can bring you to its new location when content moves. This component expects you to register storage.RedirectionStorage as a local utility providing IRedirectionStorage (CMFPlone does this). Once that's done, the subscribers in subscribers.py will listen for object moved and object deleted events. When an object is moved (renamed or cut/pasted into a different location), the redirection storage will remember the old path. It is smart enough to deal with transitive references and circular references. When an object is deleted, all references to it are deleted as well. The view in browser.py contains methods (used in Plone's default_error_message.pt when it gets a NotFound error) that do the following: - attempt to redirect from the assumed intended path to the new path of an object, if the redirection storage holds a reference from the old path. - if not, look for the first valid parent of the assumed intended path, and present it as an option to the user - further, use the last id of the assumed intended path and attempt to search for objects in the catalog that contain this, presenting the options to the user
RPMPackage plone.app.querystring-1.3.3-1.lbn25.noarch
This package provides an queryparser, querybuilder and extra helper tools, to parse stored queries to actual results, used in new style collections. It includes a registry reader which reads operators, values and criteria from the Plone registry.
RPMPackage plone.app.portlets-2.5.6-1.lbn25.noarch
plone.app.portlets provides a Plone-specific user interface for plone.portlets, as well as a standard set of portlets that ship with Plone.
RPMPackage plone.app.openid-2.1.0-1.lbn25.noarch
This packages makes Plone a complete OpenID consumer, allowing people to authenticate in a site using their OpenID identity. It relies on the plone.openid_ package to implement authentication of identities and needs an external session management plugin such as plone.session_ to add session management.
RPMPackage plone.app.multilingual-3.0.2-1.lbn19.noarch
Introduction ============ Talking about multi-language support in Plone is talk about Products.LinguaPlone. It has been the *defacto* standard for managing translations of Archetypes-based content types in Plone through the years. Somehow its functionality never made its way into the Plone core and today it is in legacy status. Nowadays, Plone faces the rising of Dexterity content types and its incoming adoption into the Plone core in the near future (4.3) and complete the transition to Plone as default content types in Plone 5. plone.app.multilingual was designed originally to provide Plone a whole multilingual story. Using ZCA technologies, enables translations to Dexterity and Archetypes content types as well managed via an unified UI. This module provides the user interface for managing content translations. It's the app package of the next generation Plone multilingual engine. It's designed to work with Dexterity content types and the *old fashioned* Archetypes based content types as well. It only works with Plone 4.1 and above due to the use of UUIDs for referencing the translations. After more than 7 years, a GSOC, redesigns, reimplementations due to deprecated libraries, two major Plone versions finally we are able to say that plone.app.multilingual is finally here. Components ========== PAM is composed of four packages, two are mandatory: * plone.app.multilingual (UI) * plone.multilingual (core) and two optionals (at least one should be installed): * plone.multilingualbehavior (enables Dexterity support via a behavior) * archetypes.multilingual (enables Archetypes support) Usage ===== To use this package with both Dexterity and Archetypes based content types you should add the following line to your *eggs* buildout section:: eggs = plone.app.multilingual[archetypes, dexterity] If you need to use this package only with Archetypes based content types you only need the following line:: eggs = plone.app.multilingual[archetypes] While archetypes is default in Plone for now, you can strip ``[archetypes]``. This may change in future so we recommend adding an appendix as shown above. Setup ===== After re-running your buildout and installing the newly available add-ons, you should go to the *Languages* section of your site's control panel and select at least two or more languages for your site. You will now be able to create translations of Plone's default content types, or to link existing content as translations. Features ======== These are the most important features PAM provides. Root Language folders --------------------- After the setup, PAM will create root folders for each of your site's languages and put translated content into the appropriate folders. A language folder implements INavigationRoot, so from the user's point of view, each language is "jailed" inside its correspondent language folder. There are event subscribers in place to capture user interaction with content and update the language in contents accordingly, for example when user moves or copy content between language folders. Babel view ---------- An evolution of the LP *translate* view, unified for either Archetypes and Dexterity content types. It features an already translated content viewer for the current content being edited via an ajaxified dinamic selector that shows them on the fly on user request. Language independent fields --------------------------- PAM has support for language independent fields, but with a twist respect the LP implementation. As PAM does design does not give more relevance to one translated object above the others siblings (has no canonical object), fields marked as language independent get copied over all the members of the translation group always. The PAM UI will warn you about this behavior by reminding you that the values in the field on the other group participants will be overwritten. Translation locator policy -------------------------- When translating content, this policy decides how it would be placed in the site's structure. There are two policies in place: * LP way, the translation gets placed in the nearest translated folder in parent's hierarchy * Ask user where to place the translated element in the destination language root folder Language selector policy ------------------------ While browsing the site, the language selector viewlet allows users to switch site's content language and ease access between translations of the current content. 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. Neutral root folder support --------------------------- The root language folders are used to place the tree of the correspondent language content. However, there are some use cases we need content that does not belongs to any language. For example, for assets or side resources like images, videos and documents. There is need to maintain a language neutral folder for place this kind of objects. After PAM setup, there is a special folder called *Language shared*. All items placed in this folder will have neutral as its default language and will be visible from the other root language folders as they were placed there. Translation map --------------- In order to ease the translation tasks, we devised a tool that displays in a useful way all the current translated objects and its current translation information. The map also shows a list of missing translations in case you want to build a *mirrored* (completely) translated site. Google Translation Service integration -------------------------------------- If you are subscriber of the Google Translation service (a paid service), you can setup your API key on *Languages* site setup. Then, you will notice a new icon in the babel view that takes the original field on the left side and using Google Translations service, translates its contents and fill the right side field. LinguaPlone migration --------------------- You can migrate your existing LP powered sites to PAM using the *Migration* tab in the *Languages* control panel. The migration has been divided into 4 steps for separation of concerns and for improving the success of each of the required procedures. Step 0 (optional) - Reindex the language index ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ The migration of LinguaPlone content depends on an up-to-date Language index. Use this step to refresh this index. **Warning:** Depending on the number of items in your site, this can take a considerable amount of time. This step is not destructive and can be executed as many times as needed. Step 1 - Relocate content to the proper root language folder ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ This step will move the site's content to its correspondent root language folder and previously will make a search for misplaced content through the site's content tree and will move them to its nearest translated parent. **Warning:** This step is destructive as it will alter your content tree structure. Make sure you have previously configured your site's languages properly in the 'Site Languages' tab of the 'Languages' control panel. It's advisable that you do not perform this step on production servers having not tried it in development/preproduction servers previously. Depending on the distribution of your site's content and the accuracy of the language information on each content object you may need to relocate manually some misplaced content after this step. Despite the fact that this step is 'destructive' it can be executed as times as needed if some problem is detected and afterwards you fix the problem. Please, refer to the procedure log when it finishes. Step 2 - Transfer multilingual catalog information ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ This step will transfer the relations between translations stored by LinguaPlone to the PAM catalog. This step is not destructive and can be executed as many times as needed. Step 3 - Cleanup after migration ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ This step will search and fix some lost dependencies to the ITranslatable interface hidden in the relation catalog and it gets rid of them. It must be run only when LinguaPlone is already uninstalled, so this step is hidden until then. Marking objects as translatables ================================ Archetypes ---------- By default, if PAM is installed, Archetypes-based content types are marked as translatables Dexterity --------- Users should mark a dexterity content type as translatable by assigning a the multilingual behavior to the definition of the content type either via file system, supermodel or through the web. Marking fields as language independant ====================================== Archetypes ---------- The language independent fields on Archetype-based content are marked the same way as in LinguaPlone:: atapi.StringField( 'myField', widget=atapi.StringWidget( .... ), languageIndependent=True ), .. note:: If you want to completely remove LinguaPlone of your installation, you should make sure that your code are dependant in any way of LP. Dexterity --------- There are four ways of achieve it. Grok directive ~~~~~~~~~~~~~~ In your content type class declaration:: from plone.multilingualbehavior import directives directives.languageindependent('field') Supermodel ~~~~~~~~~~ In your content type XML file declaration:: <field name="myField" type="zope.schema.TextLine" lingua:independent="true"> <description /> <title>myField</title> </field> Native ~~~~~~ In your code:: from plone.multilingualbehavior.interfaces import ILanguageIndependentField alsoProvides(ISchema['myField'], ILanguageIndependentField) Through the web ~~~~~~~~~~~~~~~ Via the content type definition in the *Dexterity Content Types* control panel. Internal design of plone.multilingual ====================================== All the internal features are implemented on the package plone.multilingual. The key points are: 1. Each translation is a content object 2. There is no canonical object 3. The translation reference storage is external to the content object 4. Adapt all the steps on translation 5. Language get/set via an unified adapter 6. Translatable marker interface(s) There is no canonical content object ------------------------------------ Having a canonical object on the content space produces a dependency which is not orthogonal with the normal behavior of Plone. Content objects should be autonomous and you should be able to remove it. This is the reason because we removed the canonical content object. There is a canonical object on the translation infrastructure but is not on the content space. Translation reference storage ----------------------------- In order to maintain the relations between the different language objects we designed a common object called a *translation group*. This translation group has an UUID on its own and each object member of the group stores it in the object catalog register. You can use the ITranslationManager utility to access and manipulate the members of a translation group given one object of the group. Adapt all the steps on translation ---------------------------------- The different aspects involved on a translation are adapted, so it's possible to create different policies for different types, sites, etc. * ITranslationFactory - General factory used to create a new content * ITranslationLocator - Where we are going to locate the new translated content Default : If the parent folder is translated create the content on the translated parent folder, otherwise create on the parent folder. * ITranslationCloner - Method to clone the original object to the new one Default : Nothing * ITranslationIdChooser - Which id is the translation Default : The original id + lang code-block * ILanguageIndependentFieldsManager - Manager for language independent fields Default: Nothing Language get/set via an unified adapter --------------------------------------- In order to access and modify the language of a content type regardless the type (Archetypes/Dexterity) there is a interface/adapter:: plone.multilingual.interfaces.ILanguage You can use:: from plone.multilingual.interfaces import ILanguage language = ILanguage(context).get_language() or in case you want to set the language of a content:: language = ILanguage(context).set_language('ca') Translatable marker interface ----------------------------- In order to know if a content can be translated there is a marker interface: plone.multilingual.interfaces.ITranslatable
RPMPackage plone.app.lockingbehavior-1.0.7-1.lbn19.noarch
Locking integration for dexterity content objects.
RPMPackage plone.app.locales-4.3.17-1.lbn19.noarch
This package contains the translation files for Plone Core and the LinguaPlone add-on product.
RPMPackage plone.app.linkintegrity-1.5.10-1.lbn25.noarch
This package tries to integrate PLIP 125, link integrity checking, into Plone. It is making use of the zope3 event system in order to modify Plone itself as little as possible.
RPMPackage plone.app.ldap-1.3.1-1.lbn25.noarch
plone.app.ldap provides a user interface in a Plone site to manage LDAP and Active Directory servers. This package succeeds the simplon.plone.ldap package. It builds on the functionality provided by LDAPMultiPlugins, LDAPUserFolder and PloneLDAP.