Suggested reading for the meeting:

  * http://peak.telecommunity.com/DevCenter/PythonEggs
  * http://peak.telecommunity.com/DevCenter/setuptools
  * http://peak.telecommunity.com/DevCenter/PkgResources
  * http://peak.telecommunity.com/DevCenter/EasyInstall

Two sample eggs already exist in chandler/projects

We agreed to use Python eggs as the mechanism to deploy language translations for Chandler and as the mechanism to distribute Chandler parcels.

Python eggs may contain parcels, language translation files, and internationalization resources.

There was concern that the overhead of identifying those eggs you are working on during development, plus the extra build step required would affect developer productivity, especially if large parts of our code become egg based. There is work planned to minimize this overhead.

We agreed to start with the assumption that there will be only one gettext Translation Domain per Python egg.

We explored various implementation approaches, most notably the following two:

As the Python eggs are discovered during Chandler launch, those that contain mo files that have not been copied to the mo installation directory will be copied. So that after Chandler has been started once all the mo files are installed. In the long run, when the repository is built as part of the build process, our customer would never incur the overhead of the step, unless they installed new language eggs, and then only once.

The second approach is very similar, except that rather than copying files to an installation directory, a dictionary is setup in the repository during parcel installation that maps locale to a list of paths to each mo file the eggs or some other convenient data structure for runtime lookups.

The first approach has the advantage of potentially working with Python projects other than Chandler and the gettext mechanism is designed to work with mo files stored in a directory. It has the disadvantage of storing two copies of the translation files, and when used by developers who regularly create their repository from scratch the translation files might not be available before the first string needs to be localized.

The second approach has the advantage of being simpler to implement since we can use the existing parcel install mechanism instead of building a similar mechanism for eggs. It might also be more efficient to use the parcel install mechanism. It has the disadvantage of requiring the gettext lookup to work on a list of files rather than a directory of files, and language translations are not available until the repository is opened. This limitation could be eliminated by choosing a well-known path for core Chandler translation files which is known before the repository is opened. All the strings that need to be translated before the repository is opened would be required to be in the core Chandler translation file.

Next Markku and Brian will decide on an implementation plan and hopefully we can have a first cut implemented within a week.


Ted Leung wrote:
Hi,

Please make sure that someone takes good notes during the meeting so that people who don't attend the meeting (and people who have this question in the future) can benefit.

Ted

On May 24, 2006, at 4:54 PM, Markku Mielityinen wrote:

The concern of this meeting is to bring all attendees up to speed on how python eggs are going to be used in Chandler. To me at least the whole concept of python eggs is still not entirely clear and this makes making good implementation decisions difficult. Hence, I and a few others have decided to get together to discuss about the subject. This informal discussion is to be conducted in technical terms and everyone, like me, will do themselves a favor by taking a few minutes to browse the list of suggested reading (provided below). Our application is leaned towards i18n issues but the discussion itself may still be of interest to others as well - especially those who work on parcels. Regarding the time and the place for this meeting, we have not set either but Friday morning and Tuesday next week are strong candidates. Interested parties should contact me within few days so that we can fix a time and a place that suits to most us.

Suggested reading for the meeting:

   * http://peak.telecommunity.com/DevCenter/PythonEggs
   * http://peak.telecommunity.com/DevCenter/setuptools
   * http://peak.telecommunity.com/DevCenter/PkgResources
   * http://peak.telecommunity.com/DevCenter/EasyInstall

Cheers,
   Markku
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

Open Source Applications Foundation "chandler-dev" mailing list
http://lists.osafoundation.org/mailman/listinfo/chandler-dev

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

Open Source Applications Foundation "chandler-dev" mailing list
http://lists.osafoundation.org/mailman/listinfo/chandler-dev
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

Open Source Applications Foundation "chandler-dev" mailing list
http://lists.osafoundation.org/mailman/listinfo/chandler-dev

Reply via email to