forked from plone/Products.LinguaPlone
-
Notifications
You must be signed in to change notification settings - Fork 0
/
CHANGES.txt
1312 lines (960 loc) · 39.5 KB
/
CHANGES.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
Changelog
=========
4.1.3 (unreleased)
------------------
- Nothing changed yet.
4.1.2 (2012-02-07)
------------------
- Translation helper scripts (getTransaltedLanguages, getUntranslatedLanguages,
getDeletableLanguages) are now view methods.
[thomasdesvenain]
- Display the translation of the folder default page in the current language
when the folder is neutral.
[thomasdesvenain]
- Avoid problems when setLanguage is given a null value that is not ''.
[thomasdesvenain]
4.1.1 (2011-11-15)
------------------
- New translations still had no proper id.
fix http://plone.org/products/linguaplone/issues/246
[gotcha]
4.1 (2011-11-14)
----------------
- New translations did not get a proper id.
fix http://plone.org/products/linguaplone/issues/246
[jfroche]
- Check 'Add portal content' permission on parent to display translate menu items.
Check 'Delete objects' on parent or 'Modify portal content' on content
to display "Manage translations" menu itme.
Check user has one of those permissions to display menu.
Refs http://dev.plone.org/plone/ticket/12223.
[thomasdesvenain]
- Update to require Plone 4.1.
[hannosch]
- Notify p.a.caching to purge translations when the canonical object is purged.
[ggozad, stefan]
- Changed permission for the controlpanel to `plone.app.controlpanel.Language`.
This allows users with the `Site Administrator` role to access it.
[toutpt]
4.0.4 - 2011-07-25
------------------
- Selector should not propose link to inaccessible content (content for which
the user does not have View permission). If a translation exist but is
inaccessible, follow the acquisition chain until a translated item is
accessible. In case we get to an inaccessible INavigationRoot, do not show
the language at all.
[gotcha]
- Removed broken icons and fix invalid XHTML in translation browser popup.
[hannosch]
- Link to translation browser popup was broken in some VirtualHost setups.
This closes http://plone.org/products/linguaplone/issues/277.
[tgraf, hannosch]
- Use template parameter in language selector's viewlet zcml declaration. This
makes it easier to customize in add-ons. The change requires plone.app.i18n
2.0.1 or greater.
[toutpt]
- Force translate menu flag icons dimensions to 14x11 px, so that it's
consistent with language selector menu. Works with
plone.app.contentmenu 2.0.4+.
[thomasdesvenain]
- Changed policy for preserving the view/template in the language selector. We
only do this if the target item is a direct translation of the current
context. Otherwise we might link to views which are not available on the
target content type.
[thomasdesvenain, hannosch]
- translate_item form works when content has no 'default' fieldset.
[thomasdesvenain]
- Declare plone.app.iterate dependency.
[thomasdesvenain]
4.0.3 - 2011-05-27
------------------
- Changed string exceptions to ValueErrors in `translate_edit.cpy`.
[robert]
- Fix the tests to work with GenericSetup 1.6.3+.
[hannosch]
- Explicitly load the CMF permissions before using them in a `configure.zcml`.
[hannosch]
4.0.2 - 2011-01-26
------------------
- Force the user to select a language before attempting to translate
neutral content items. One content item can be either neutral or have
translations, but not a mix of the two.
[witsch]
- Don't create an extra folder when translating the default page of a
language-neutral folder.
[witsch]
4.0.1 - 2011-01-10
------------------
- Changed defaultLanguage behavior in I18NBaseObject to always report the
parent's folder language even if it is neutral.
[ggozad]
4.0 - 2010-11-25
----------------
- Fixed possible XSS security issue in the `translationbrowser_popup` caused
by displaying unfiltered content from the `Description` string field as HTML.
Issue reported by Andrew Nicholson.
[hannosch]
- Protect against accidentally acquiring the `getTranslations` method from a
parent object in `utils.generatedMutator`. Thanks to Matous Hora for the
patch. This closes http://plone.org/products/linguaplone/issues/257.
[hannosch]
4.0b1 - 2010-11-04
------------------
- Gracefully deal with multiple brains per `UID` in `translated_references`.
[hannosch]
4.0a4 - 2010-10-06
------------------
- Avoid module global imports in our top-level ``__init__``. If you have
accidentally imported any of the contents of the ``public`` module directly
from ``Products.LinguaPlone``, you will need to adjust those to import from
the ``public`` module instead. This closes
http://plone.org/products/linguaplone/issues/253.
[hannosch, ggozad, shh42]
4.0a3 - 2010-09-24
------------------
- Rewrote ``getTranslationReferences`` and ``getTranslationBackReferences``
internals to avoid the catalog search API and make use of knowledge of its
internals.
[hannosch]
- In the TranslatableLanguageSelector only append a question mark, if there's
a query string to append.
[hannosch]
4.0a2 - 2010-09-08
------------------
- Make the ``set_language`` query string addition configurable via a class
variable on the TranslatableLanguageSelector.
[hannosch]
4.0a1 - 2010-07-28
------------------
- Added test for deleting canonical folders. Added minimum version requirement
on Products.ATContentTypes 2.0.2 for the fix to
http://plone.org/products/linguaplone/issues/241.
[hannosch]
- Fixed language selector logic to correctly deal with all kinds of VHM rules.
This closes http://plone.org/products/linguaplone/issues/240.
[hannosch]
- Change the language selector viewlet to be shown in the IPortalHeader manager
to be consistent with the new default location in Plone 4. This closes
http://plone.org/products/linguaplone/issues/248.
[hannosch]
- Require at least Zope 2.12.5 and remove the `-C` work around.
[hannosch]
- Renamed migrations module to upgrades to match current nomenclature.
[hannosch]
- Removed Archetypes uid and reference catalog GenericSetup handlers. These
are part of Archetypes now.
[hannosch]
- Removed Plone 3.3 specific tests.
[hannosch]
- Added tests for all upgrade steps.
[hannosch]
- Removed all dependencies on zope.app packages.
[hannosch]
- Specify all package dependencies.
[hannosch]
- Added dependency on Plone 4. Please use a release from the 3.x series if
you are using Plone 3.
[hannosch]
3.1 - 2010-07-28
----------------
- No changes.
3.1b1 - 2010-07-18
------------------
- Update license to GPL version 2 only.
[hannosch]
- If catalog filter attributes contain "Language", and "Language" is
set to all, don't add Language filters to the REQUEST object
[do3cc]
3.1a5 - 2010-06-22
------------------
- Use a normal FieldIndex in the uid_catalog and correct custom setuphandler
to create a functional FieldIndex.
[hannosch]
3.1a4 - 2010-06-18
------------------
- Removed example types, Plone's default types are LinguaPlone aware and
provide a good demo of the functionality.
[hannosch]
- Refactored tests and conform to PEP8 in more places.
[hannosch]
- Changed the default index used for Language to be a normal FieldIndex. For
most sites this is sufficient and avoids the major performance hit the
LanguageIndex brings with it.
[hannosch]
- Refactor selector code to make it easier to write unit tests for it.
[hannosch]
- Added development information to README, this closes
http://plone.org/products/linguaplone/issues/242.
[hannosch]
- Lessen optimization in selector code, to deal with folderish objects used as
default pages, refs http://plone.org/products/linguaplone/issues/228.
[hannosch]
- Removed iterator for tabindex for Plone 4 compatibility.
[hpeteragitator]
3.1a3 - 2010-05-25
------------------
- Small optimizations in invalidateTranslations, deletable language vocabulary
and script - avoiding review state calculation and full object lookups.
[hannosch]
- Removed logger instance and log method from ``config.py``.
[hannosch]
- Removed unused variables from ``config.py``: ``DEBUG``, ``GLOBALS``,
``PKG_NAME``, ``SKIN_LAYERS``, ``SKIN_NAME``, ``INSTALL_DEMO_TYPES``.
[hannosch]
- Added a general collection criteria translation sync functionality including
language independent criteria support. This is currently not activated
automatically and has no UI support yet. See the ``README.txt`` in the
criteria sub-package for more caveats.
[hannosch]
- Added tests to prove that indexing and updating reference fields works.
[hannosch]
- Also handle multiValued references given by a tuple instead of a list in
``utils.translated_references``.
[thet]
- Mini-optimization in language selector.
[hannosch]
3.1a2 - 2010-03-29
------------------
- Fixed isCanonical inside portal_factory which could lead to strange errors.
Thanks to Daniel Kraft for the patch. This closes
http://plone.org/products/linguaplone/issues/236, 237 and 239.
[hannosch]
- Links in the language selector where broken when using ``_vh_`` parts.
This closes http://plone.org/products/linguaplone/issues/235.
[ramon]
- Expanded test coverage extensively. Going from 84% to 93%.
[hannosch]
- Removed unfinished ``new_manage_translations_form`` prototype.
[hannosch]
- Silence the ``manage_*`` warnings for the example and test types.
[hannosch]
- Convert GenericSetup steps registrations to ZCML.
[hannosch]
- Removed all BBB imports for InitializeClass. We depend on Plone 3.3 which
comes with Zope 2 versions with the forward compatible import locations, as
introduced in Zope 2.10.8.
[hannosch]
- Removed old type actions from example and test types.
[hannosch]
- Some PEP8 cleanup and minor documentation updates.
[hannosch]
3.1a1 - 2010-02-19
------------------
- Factor out filtering of "Language" parameter so it can be reused elsewhere.
[hannosch, witsch]
- Made the manage_translations_form compatible with Plone 4 by replacing a
call to referencebrowser_startupDirectory with hardcoding the current context
as the startup directory.
[huub_bouma]
- Added workflow transitions to the setup view to publish the language folders.
[hannosch]
- Changed the setup view to give the folders native language titles.
[hannosch]
- Added automatic setup of the language switcher to the setup view.
[hannosch]
- Added new ``language-switcher`` view usable as a default view method for the
Plone site object to dispatch to the appropriate language root folder.
[hannosch]
- Added new ``language-setup-folders`` helper view to set up a regular structure
of language root folders for each supported language each marked as a
navigation root.
[hannosch]
- Added more CSS classes to the language selector making it possible to target
each language. Inspired by http://www.thirtysomething.it/.
[hannosch]
- Only register the catalog export import handlers if they aren't already part
of Archetypes. This avoids conflicts in Plone 4.0.
[hannosch]
3.0.1 - 2010-02-02
------------------
- Adjusted the FAQ related to changing the language of an item. This closes
http://plone.org/products/linguaplone/issues/234.
[hannosch]
- Clarify ITranslatable interface description for the getTranslation method.
This closes http://plone.org/products/linguaplone/issues/226.
[hannosch]
- Made language index more forgiving when dealing with broken canonical
references. This closes http://plone.org/products/linguaplone/issues/231.
[hannosch]
- Fixed a regression introduced in 3.0b4. The title of translations wasn't
generated from the title anymore. While we retain the ability to specify an
explicit id, by default the new id is now generated from the title again.
This closes http://plone.org/products/linguaplone/issues/233.
[hannosch]
- The language portlet was broken due to a prior change of the selector.
[jensens]
- Small documentation updates.
[hannosch]
3.0 - 2009-12-21
----------------
- No changes from last release candidate.
[hannosch]
3.0c4 - 2009-12-07
------------------
- Made it possible to disable the i18n aware catalog feature via an environment
variable called ``PLONE_I18NAWARE_CATALOG``.
[hannosch]
3.0c3 - 2009-11-25
------------------
- Made the translated reference functionality more resilient against errors.
We overwrote the target ``value`` inside the loop setting the references on
translations. In case of an invalid target in one language, this caused all
subsequent translations to fail with a different error.
[hannosch]
3.0c2 - 2009-11-16
------------------
- Silence reference exceptions raised inside the reference multiplexing.
A normal user cannot do anything about them, so we log them instead.
[hannosch]
- Changed import from deprecated Products.Archetypes.public to
Products.Archetypes.atapi.
[maurits]
- Explicitly define ``portal`` inside the style_slot.
[maurits]
- Replaced the css_slot with the style_slot, as it is deprecated.
[maurits]
- Use new shared plonetest config file.
[hannosch]
3.0c1 - 2009-11-04
------------------
- Don't fail on broken references in ``translated_references``.
[hannosch]
- Adjusted tests to new default page behavior in Plone 4.
[hannosch]
- Made use of the new getTranslations API and avoid calculating the review
state if it is not required.
[hannosch]
- Fixed functional tests to avoid an extraneous slash in the URL.
[hannosch]
- Added a new I18NOnlyBaseBTreeFolder mix-in, which can be used in Plone 4 to
give LinguaPlone behavior to the new plone.app.folder types.
[hannosch]
- Avoid deprecation warnings for the use of the Globals package.
[hannosch]
3.0b8 - 2009-10-22
------------------
- Adjusted the language selector to point to the nearest translation for each
language. So far the selector only worked on items which had translations
into all languages. Otherwise the content language negotiator would render
the selector useless. This closes
http://plone.org/products/linguaplone/issues/219.
[hannosch]
- Fixed the language selector to work directly on the root in a virtual hosting
environment. This closes http://plone.org/products/linguaplone/issues/216.
[hannosch]
- Expanded the development buildout to include a simple Nginx configuration to
make it easier to test virtual hosting issues.
[hannosch]
- Changed the language selector to use the canonical_object_url instead of the
view_url. We preserve the /view postfix ourselves, so using view_url would
duplicate this in certain situations. We also stopped doing the default page
analysis ourselves and use the given feature from the context state view.
[hannosch]
3.0b7 - 2009-10-21
------------------
- Protect the LanguageIndependentFields adapter against weird fields, like
computed fields.
[hannosch]
3.0b6 - 2009-10-20
------------------
- Avoid preserving the mysterious `-C` in the language selector.
[hannosch]
- Made sure that subclasses of fields listed in I18NAWARE_REFERENCE_FIELDS
also get the special reference handling. Otherwise schemaextender fields
won't get the behavior.
[hannosch]
- Let the `generatedMutatorWrapper` work directly on schemaextender fields.
[hannosch]
- Replaced `has_key` with `in` checks using the `__contains__` protocol.
[hannosch]
- Factored out generated methods from the language independent ClassGenerator
into module scope functions to allow outside access to them.
[hannosch]
3.0b5 - 2009-10-14
------------------
- Optimized the getTranslations method by allowing the calling functions to
pass in a hint about the canonical status of self. Often this is known by
the caller and doesn't have to be determined inside the getTranslations call.
Also optimized getNonCanonicalTranslations by extending the API of
getTranslations with a include_canonical flag.
[hannosch]
- Optimized the getCanonical method to avoid two identical reference catalog
queries and just do the query once.
[hannosch]
- Added tests for and fixed more edge cases for the reference handling.
There's about seventeen different ways how this API can be called.
[hannosch]
- Fixed a bug in the LanguageIndependentFields adapter. It did a whole lot of
magic to be LinguaPlone aware, just to miss the whole point. Simple is
sometimes better. This fixes the last reference handling test failure.
[hannosch]
- Fixed the whole references handling. Prior it used the saved references for
synchronization, with the effect of ignoring new refs. Now it uses actually
the given new values and looks up them. It deals now with partly translated
targets and non-translatable targets. Also I cleaned up this part of the
code.
[jensens]
3.0b4 - 2009-10-02
------------------
- Fixed a serious bug that showed itself with multi valued reference fields and
archetypes.referencebrowserwidget. Since we render language independent
fields on the translate_item view in view mode, their data wasn't part of the
request anymore. Omitting a field from the request is considered equivalent
to "delete all" by processForm. We now override _processForm to ignore
language independent fields in processForm on canonical items. This also
gives a bit of a speed advantage.
[hannosch]
- LinguaPlone didn't allow manual editing of IDs. Thanks to David Hostetler
for the patch. This closes http://plone.org/products/linguaplone/issues/70.
[hannosch]
- Removed dubious performance optimization in tests. Don't delete the catalog.
[hannosch]
- Removed bogus license headers from Python files. All code is owned by the
Plone Foundation and licensed under the GPL.
[hannosch]
3.0b3 - 2009-09-26
------------------
- Update the requirement to Plone 3.3 instead of individual packages. We don't
test this version against former Plone versions anymore. Removed no longer
required code for pre-Plone 3.1.
[hannosch]
- If no item was selected in the link translations form, a random item was
selected in the form handler. Thanks to Ichim Tiberiu for the patch. This
closes http://plone.org/products/linguaplone/issues/204.
[hannosch]
- Restored the proper functionality of the change language function on the
manage_translations_form. This closes
http://plone.org/products/linguaplone/issues/215.
[hannosch]
- Added a simple configuration option to hide the right column on the
translation edit form and enable it by default.
[hannosch]
- Removed the canonical and translations cache. It was never completely save
to use. This closes http://plone.org/products/linguaplone/issues/82.
[hannosch]
- Added a new synchronized language vocabulary and use it for the content and
metadata language availability. This restricts the languages in the common
language widgets to the set of the supported languages of the site.
[hannosch]
- Removed the unmaintained support for using the Kupu reference browser in the
manage_translations_form.
[hannosch]
- Fixed a deprecation warning for the isRightToLeft script, which is used in
the translationbrower_popup.
[hannosch]
- Removed the GlobalRequestPatch - it is no longer required.
[hannosch]
- Removed the `not_available_lang` template. It wasn't used anymore.
[hannosch]
- Use request negotiation by default.
[hannosch]
- Turn on the content language negotiator by default.
[hannosch]
- Avoid a space after the language name in the selector.
[hannosch]
- Modernized the code of the language index export import handler.
[hannosch]
- Refactored common functionality of the catalog exportimport handlers. Added
automatic reindexing for newly added indexes.
[hannosch]
- Rearranged the package documentation to the top-level of the distribution.
[hannosch]
- Added a buildout configuration to the package for stand-alone testing.
[hannosch]
- Fixed bad spelling in status message in translate view.
[hannosch]
- Make sure to use the native language name in the language selector in the
same way Plone itself does this.
[hannosch]
- Specify an alt text on the language selector images. This closes
http://plone.org/products/linguaplone/issues/188.
[hannosch]
- Fixed invalid code instructions in the README. This closes
http://plone.org/products/linguaplone/issues/207.
[hannosch]
- Removed the long broken portlet_languages. This was a pre-Plone 3 old-style
portlet. See http://plone.org/products/linguaplone/issues/209.
[hannosch]
3.0b2 - 2009-09-25
------------------
- Don't forget the rest of the formvariables, when dealing with request.form.
[tesdal]
3.0b1 - 2009-09-25
------------------
- Don't mangle request.form when allowing Unicode.
[tesdal]
- Get default language from content parent inside portal factory.
[tesdal]
- Added dynamic id attribute to <tr> in translate_item.cpt for easier styling.
[jensens, hpeteragitator]
3.0a3 - 2009-09-09
------------------
- Allow Unicode in request.form.
[tesdal]
3.0a2 - 2009-09-07
------------------
- Preserve view, template and query components when switching language
[tesdal]
- Ensure that the LinguaPlone browser layer is more specific than the default
in the interface __iro__ so that registrations to the LinguaPlone layer win.
[rossp]
- Added undeclared dependency on Products.PloneLanguageTool >= 3.0.
[hannosch]
3.0a1 - 2009-06-03
------------------
- Removed `checkVersion` check from our init method and declare a dependency
on Plone instead.
[hannosch]
- Changed the profile version to a simple `3`, to follow best practices of
using simple integers for profile version numbers.
[hannosch]
- Extended multi-lingual aware reference fields to handle multi-valued fields.
[hannosch]
- Added test for language independent lines fields.
[hannosch]
- Fixed the testSelector tests to work with the new default page handling.
[hannosch]
- Cleaned up some old package metadata and converted zLOG usage to logging.
[hannosch]
- Changed the language selector to respect default pages. We now link to the
container of the translated default page rather than the default page itself.
[hannosch]
- Added Language as an additional index to the uid catalog. This is required
to get at least normal reference criteria to be able to restrict their
selections based on the language.
[hannosch]
- Adjust the copyField methods of the LanguageIndependentFields adapter to
work with fields which have no accessor methods.
[hannosch]
- Reworked the translationOf reference handling. Instead of relying on the
normal Archetypes reference API, we digg into some of the internals to
optimize the handling for the specific use-case we have:
* We added Language as additional metadata to the reference catalog. To do
so we needed to add a GenericSetup handler for the catalog to this package
for now. This should be moved to Archetypes itself. An upgrade step for
existing sites is available and needs to be run. The step is advertised in
the add-on control panel of Plone 3.3 and later or available via the
portal_setup tool in the ZMI.
The new metadata reflects the language of the source of the reference, so
we index the translation languages and not the canonical language. So a
reference inside the at_references folder of a translation, stores the
Language of that translation. It gets it via Acquisition, since neither the
reference nor the at_references OFS.Folder has a Language function.
* As a second step we use this new metadata to more efficiently query the
reference catalog. In general we avoid getting the real objects where
possible and rely on the catalog internal brains to get all relevant
information. We also bypass getting the actual reference object and
instead look up the source or target of the reference directly by their
uid.
These changes do not change external API's nor should they cause problems
for other add-ons using the reference engine.
[hannosch]
- Split the canonical status caching of CACHE_TRANSLATIONS into its own config
setting via CACHE_CANONICAL.
[hannosch]
- Fixed the language selector tests to pass in Plone 3.3.
[hannosch]
- Removed empty translation from translate menu description.
[hannosch, maurits]
- Added smarter handling of language independent reference fields. If a
language independent reference field points to a target, the translations of
that source item will point to the translations of the target and not the
canonical target. This will only work if the translations of the target
already exist once the reference is established. If translations of the
target are later added, the canonical source needs to be saved again to
adjust the references to the right translation of the target.
[hannosch]
- Added tests for language in-/dependent reference fields.
[hannosch]
- Allow the query keys which prevent the automatic addition of the language to
catalog queries be configured through a NOFILTERKEYS list in config.
[hannosch]
2.4 - 2008-12-09
----------------
- Removed `Language settings` from the `Translate into` menu. A global action
has no place in a context specific menu.
[hannosch]
- Remove the useless 'changeLanguage' script. In
'manage_translations_form', use '@@translate' instead.
[nouri]
- Allow 'id' to be passed to addTranslation/createTranslation.
[nouri]
2.3 - 2008-11-13
----------------
- Registered NoCopyReferenceAdapter for translationOf relations on
iterate checkout to avoid the checked out object becoming the
translation.
[tesdal]
- Fixed unneeded AlreadyTranslated exception during a schema update.
A schema update saves the current value, sets the default language
(at which point there can easily be two English translations if that
is the default language) and restores the original value again. So
really there is no reason for doing anything other than setting the
value in that case.
[maurits]
- addTranslation now returns the newly created translation.
[wichert]
- Include the FAQ in the package description.
[wichert]
- Refactor addTranslation: introduce adapters to determine where
a translation should be created and to create the translation.
[wichert]
- Add path filter in catalog view, like the non-LP version has.
[mj]
- Ensure that translations are reindexed when processing an edit form;
language independent fields may have been updated.
[mj]
- Extracted ILanguageIndependentFields adapter, encapsulating the
synchronization of language independent fields.
[stefan]
2.2 - 2008-07-22
----------------
- LanguageIndependent fields are now shown in view mode for the translations,
so they no longer are editable from the translations, which is how it's
documented to behave. [regebro]
- Made the upgrade step also work on Plone 3 (GenericSetup 1.3).
[maurits]
- Registered GenericSetup upgrade step to get rid of an old
linguaplone_various import step. I registered it for upgrading
from 2.0 to 2.1 as that was when this import step was removed. It
is always available in portal_setup/manage_upgrades in the ZMI.
[maurits]
- When going to the canonical translation, also switch to that
language. [maurits]
- On the manage_translations page do not show the form for linking to
other content or deleting/unlinking existing translations when the
current context is not the canonical language. Instead add a url to
that canonical language. [maurits]
- When adding a translation, do not throw an error when the language
does not exist, but display that as info and go to that existing
translation. I saw the 'add translation' option still for an
already translated language, due to some caching. [maurits]
- Ignore back reference when it is None. [maurits]
- Made sure that an existing FieldIndex Language gets correctly
replaced by our wanted LanguageIndex, instead of leaving an unusable
index with an empty indexable attribute. [maurits]
- Check if plone.browserlayer is installed before starting a possibly
long reindex that would then be aborted. [maurits]
- Make tests run on Plone 3.0.6 with plone.browserlayer 1.0rc3 and
original GenericSetup (1.3) next to simply Plone 3.1. [maurits]
2.1.1 - 2008-05-01
------------------
- Removed the dependency on the no longer existing plone.browserlayer
GS profile. This closes http://dev.plone.org/plone/ticket/8083.
[hannosch]
- Add a workaround Plone bug #8028 (http://dev.plone.org/plone/ticket/8028)
which causes site errors in contexts without a portal_type, such as
the portlet add form.
[wichert]
2.1 - 2008-04-11
----------------
- Use our language selector viewlet for all content types instead of just
translatable types. This makes things consistent for all types.
[wichert]
- Be more tolerant in unindexing non-existent content.
[hannosch]
- Allow languages to be unselected in the language control panel.
[wichert]
- Do not use LanguageDropdownChoiceWidget for the default language field
in the control panel: LanguageDropdownChoiceWidget uses
IUserPreferredLanguages, which does not use the proper vocabularies to
find the language names.
[wichert]
2.1beta1 - 2008-04-07
---------------------
- Register the LanguageIndex with the selection widget, so you can query
for languages in Collections.
[hannosch]
- Enable the Plone language portlet and change its rendering link
correctly to translations if they exist and to the site root
otherwise.
[wichert]
- Dont depend on Quickinstaller at setup time and in browsermenu.
[jensens]
- Minor GenericSetup cleanup
[jensens]
- Make LinguaPlone play nice with archetypes.schemaextender and
similar approaches.
[jensens]
- Declare plone.browserlayer as a dependency in our GenericSetup profile.
This will automatically install it in Plone 3.1.
[wichert]
- Better unlink handling. This fixes
http://plone.org/products/linguaplone/issues/127
[wichert]
2.1alpha1 - 2007-12-13
----------------------
- Refuse to install LinguaPlone of plone.browserlayer is not already
installed.
[wichert]
- Register the PloneLanguageTool GenericSetup export/import steps in
LinguaPlone as well. Standard Plone 3 installs never applied the
PloneLanguageTool GenericSetup context, so without this
portal_languages.xml would be ignored.
[wichert]
- Replace the standard Plone language control panel with our own version
which allows enabling of multiple languages.
[wichert]
- Manage translations form now uses a kupu drawer when the kupu
reference browser is enabled. [Duncan]
- Actions from the manage translations screen now stay on that
screen so multiple translations may be linked. Existing
translations display their path. [Duncan]
2.0 - 2007-10-11
----------------
- When creating new content in a translated parent use the language of
the parent as the default language.
[wichert]
- Try to unlock objects before moving them into a newly translated folder.
[wichert]
- Add a test in the GS various import step if the Language catalog index
in portal_catalog has indexed any objects. If not we just (re)created
the index and we need to reindex it. This fixes content disappearing
after installing LinguaPlone.
[wichert]
- Remove the code to mark LinguaPlone as installed in the quickinstaller
from the GS profile: we can install LinguaPlone through the quickinstaller
itself so this is not needed.
[wichert]
2.0beta2 - 2007-09-24
---------------------
- Fix a syntax error in the translate_item template.
[wichert]
- Restructure the LinguaPlone product layout so it can be distributed
as an egg.
[wichert]
2.0beta1 - 2007-09-21
---------------------
- Allow translating the default view for an untranslated container
again: we have correct code that adds a translation of the container
as well now.
[wichert]
- Correct creationg of translations for objects which are the default
view of a non-translatable parent.
[wichert]