Loading...
 

Collaborative_Multilingual_Terminology

This is highly experimental and (for now) only useful for developers who want to contribute to Tiki.


When completed, this profile will allow a group of users to collaborate on creating a multilingual glossary of terms for a site. This kind of glossary is invaluable to help with the translation of content, and ensure consistent use of terms and their equivalents.

A big inspiration for this profile is HTAGlossary site

It is being tested/developed at: http://terminology.tiki.org/

Table of contents



Features & settings

YAML
instructions: Guide de l'utilisateur-- profil de terminologie collaborative preferences: # The terminology MODULE is designed specifically to work # on sites where the terminology PROFILE has been installed. # Preference terminology_profile_installed is hidden and cannot # be set using the Tiki UI. It can only be set by a profile. # So, by setting this preference here, we tell the Terminology # MODULE that the terminology PROFILE has been installed. terminology_profile_installed: y # The whole thing is based on the wiki feature feature_wiki : y # # Pages for a term must be available in multiple languages # feature_multilingual : y feature_translation: y # So you can see a term and its translation on same page feature_multilingual_one_page: y # So users can specify the languages that they # speak change_language: y # Terminology entries are very short and are usually # translated in one go. So no need for the Incomplete # translation notice. That way, users don't have to # do extra operations to erase it, which means they # can translate an entry faster with fewer clicks. feature_translation_incomplete_notice: n # Support insertion of translated string in wiki markup wikiplugin_tr: y # # For sites with less than 4 available languages, include all languages # in the preferred language list. Additional languages will be added at # the end of the list. # language_inclusion_threshold: 4 # # Wiki link format; characters that can be used with Wiki link syntax: ((page name)). # Since terms will be as wiki pages, let's permit the maximum. # wiki_page_regex: complete # # Enable templates, so we can provide user with # templates for terminology entries # feature_wiki_templates: y # # User preferences needed so users can specify # the languages they are interested in. # feature_userPreferences: y feature_mytiki: y # # We need to enable the syntax (alias(aliasname)), so # that users can specify that a particular term # can be said in different ways. # # For this to work, we need both the semantic links # AND the backlinks features to be enabled. # # AD (2009-10-05): also, automatic redirection # (feature_wiki_1like_redirection) must be enabled. # It's supposed to be enabled by default, but AD had # some problems with it (it seemed to be deactivated # after profile installation). # feature_backlinks: y feature_semantic: y feature_wiki_1like_redirection: y # # In tiki-listpages.php, we want to see the language. # wiki_list_language: y # # Page title is the term, so it should be displayed # feature_page_title : y # # When we try to access a page which has been aliased to # two different pages, we want the system to ask us # which of the aliased pages to go to. This is what # feature_likePages is for. # feature_likePages: y # # Showing source is not very relevant for terminology (unless there is lots of wiki content) # feature_source: n # # So site can send out email messages to users? # feature_messages: y # # Allow users to undo changes history # feature_wiki_undo: y # # Use nicer theme # style: strasa.css # # Categories can be used to specify domains for terms. # # As of 2009-06-10, Category Objects lists all the # pages that are tagged with a category. This is WAY too # long, and takes too much screen real-estate. Need to # change code to make list of pages optional # # Could also use categorypath, but it is only displayed for # the first language at the top, and we need it displayed # for all languages. # feature_categoryobjects: y feature_categories: y categoryobjects: y categorypath: n # # Not sure what this is.... # wiki_edit_plugin: y # # Comments can take too much real-estate. Translators # mostly want to see the term in source language, and # its equivalent in target language, and they need # to visually parse the screen efficiently # So make comments invisible unless the user # clicks on it. # feature_wiki_comments: y wiki_comments_displayed_default: n # # Do we really need freetags? # feature_freetags: y # # Disable the standard search feature. Users should employ # the Terminology module to search for terms. # When standard search feature was enabled, we found users # had a tendancy to use that one instead of the Terminology # search module. # feature_search: n # Enable user watches feature_user_watches: y feature_print_indexed: y feature_mytiki: y # # Support voting on equivalents for a term # AD: Not sure which of those features are actually needed. # Still experimenting with different voting mechanisms # feature feature_polls: y feature_wiki_ratings: y wikiplugin_proposal: y # # Need a forum for asking terminology questions # feature_forums: y # # Hum... shouldn't we validate users? # validateUsers: n allowRegister: y validateRegistration: y auth_ldap_adminuser: y auth_ldap_adminpass: y # # Set home page to the terminology help page. # wikiHomePage: User Guide-- Collaborative Terminology profile # # Often, it can be useful to put a picture of the thing # a term refers to. # This section defines how images will be managed. # metatag_imagetitle: y



Modules and Objects


YAML
objects: # # Note: terminology module may only be available in trunk # version, not 3.0. # # # Anonymous users can search for terms, but they won't be # allowed to modify them. # - type: module ref: module_terminology data: name: terminology position: right groups: [ Anonymous, Registered ] order: 10 - type: module data: name: last_modif_pages position: right order: 1 groups: [ Editors, Registered, Admins ] - type: module ref: module_since_last_visit_new data: name: since_last_visit_new position: right groups: [ Registered ] order: 30 - type: module ref: module_switch_lang data: name: module_switch_lang position: right groups: [ Registered, Anonymous ] order: 25 - type: forum ref: general_questions data: name: General questions / Questions générales description: For generic questions which are not tied to a particular term / Pour des questions générales qui ne sont pas reliées à un terme en particulier attachments: everyone list: [ topic_reads ] - type: forum ref: term_fr_en_questions data: name: Fr <-> En questions description: For En, Fr question / Pour des questions entre le français et l'anglais attachments: everyone list: [ topic_reads ] - type: forum ref: term_es_en_questions data: name: Es <-> En questions description: For En, Fr question / Para preguntas entre Es y En attachments: everyone list: [ topic_reads ]


Wiki pages included with this profile


This is where we include some wiki pages


YAML
objects: - type: wiki_page ref: collaborative_terminology_platform_include_user_guide data: name: User Guide-- Collaborative Terminology profile lang: en content: wikicontent:collaborative_terminology_platform_include_user_guide translations: [ $collaborative_terminology_platform_include_guide_de_l_utilisateur] - type: wiki_page ref: collaborative_terminology_platform_include_guide_de_l_utilisateur data: name: Guide de l'utilisateur-- profil de terminologie collaborative lang: fr content: wikicontent:collaborative_terminology_platform_include_guide_de_l_utilisateur - type: wiki_page ref: collaborative_terminology_platform_include_admin_page data: name: Admin Guide-- Collaborative Terminology Profile lang: en content: wikicontent:collaborative_terminology_platform_include_Admin_Guide - type: template ref: Term_Template_en data: name: Term Template-en content: wikicontent:collaborative_terminology_platform_include_Term_Template_en sections: [ wiki ] - type: template ref: Term_Template_fr data: name: Term Template-fr content: wikicontent:collaborative_terminology_platform_include_Term_Template_fr sections: [ wiki ] - type: template ref: Term_Template_es data: name: Term Template-es content: wikicontent:collaborative_terminology_platform_include_Term_Template_es sections: [ wiki ] - type: template ref: Term_Template_de data: name: Term Template-de content: wikicontent:collaborative_terminology_platform_include_Term_Template_de sections: [ wiki ] - type: wiki_page ref: collaborative_terminology_platform_wiki_engine data: name: Wiki engine lang: en content:wikicontent:collaborative_terminology_platform_wiki_engine translations: [ $collaborative_terminology_platform_moteur_wiki, $collaborative_terminology_platform_Motor_de_Wiki] - type: wiki_page ref: collaborative_terminology_platform_moteur_wiki data: name: Moteur wiki lang: fr content:wikicontent:collaborative_terminology_platform_moteur_wiki - type: wiki_page ref: collaborative_terminology_platform_Motor_de_Wiki data: name: motor de wiki lang: es content:wikicontent:collaborative_terminology_platform_Motor_de_Wiki - type: wiki_page ref: collaborative_terminology_platform_tagging data: name: tagging lang: en content:wikicontent:collaborative_terminology_platform_tagging translations: [ $collaborative_terminology_platform_taggage] - type: wiki_page ref: collaborative_terminology_platform_taggage data: name: taggage lang: fr content:wikicontent:collaborative_terminology_platform_taggage - type: category ref: cateory_term data: name: term description: Base category used for all terms





Permissions

YAML
permissions: Anonymous: allow: - view - comment - wiki_view_comments - read_comments # # Anons can view history, but not roll back changes. # - wiki_view_history - search - search_categorized - view_categories - forum_read Registered: description: Will be ignored because group is already created allow: - view - comment - wiki_view_comments - read_comments - wiki_view_history - search - search_categorized - view_categories - forum_read - view_categories Editors: description: Can edit & delete all content allow: - edit - post_comments - rename - admin_categories - rollback - forum_vote - forum_post - forum_post_topic - forum_edit_own_posts - forums_report - forum_attach - forum_autoapp # Editors may need to fix the assignment of translations # to each other, in case an error was made. - detach_translation # Sometimes, it's useful to put a picture of what a term # refers to. So editors should be able to add pictures # to terms. Not sure that all of the perms below are # necessary though. - batch_upload_image_dir - batch_upload_images - list_image_galleries - upload_images - view_image_gallery Admins: description: Have all rights allow: [ admin ]



Todos


Below is a list of todos, sorted by priority

Priority 1: These should be done before we deploy on RTE


P1.0 - Create German template based on Dave Calvert's email of 2009-11-25


P1.0 - Enable users to ask to be notified of every new page creation or modification


If you enable User Watches, users should be able to go to My Watches and specify there that they want to, say, watch all wiki pages.

But that doesn't happen on trunk 4.0.

Yet, if I enable User Watches Translations, then I do see a pick list with a single element (for watching translations).

Probably a bug in Trunk.


Probably need to set following preferences

  • feature_detect_language
  • feature_best_language

But need to be careful and make sure that it won't screw up the terminology search. In particular, we want to make sure that the language that is displayed on the left is always the language you searched in... not the user's preferred language. For example, if my first language is French, but I did an English search, I still want to see English left, and French on the right.


P1.0 - French user guide is not associated to the English one


Someone the YAML in the profile fails to associate one as being the translation of the other.

P1.0 BUG_REPLY_FORUM_CRASHES


  • Add a case for that in the test plan.
  • If you go to a forum post and hit the reply link, tiki crashes.

P1.1 Automatically translate headings in term entry


Right now, when I translate a term based on its version in another language, I have to manually translate all the headings like Synonyms and Acronyms:.

Make it so that those headings get translated autoamtically.
  • Easiest way is to put {tr}{tr} tags around the English headings, and leave them in English in the templates for other languages. Then you can use the custom string translation thingy in i18n feature to automatically translate it (at least upon display... it will still appear as English in the actual wiki markup of the page).
  • Note: Need to enable the tr plugin.

P1.1 Add an alias button to the edit window


Many people found the long comments in the templates confusing.

Better approach would be to have a button in the edit toolbar taht says: 'alias'.

P1.1 Alias should allow spaces after the alias


During the workshop at the translation bureau, lots of folks wrote: (alias (aliasname)), putting a space between alias and (.

The alias syntax should be flexible enough to allow that.

P1.1- Deactivate the "type" picklist for comments and forum posting


It's useless and annoying.

P1.1- Regularly check the changes on the user guide at terminology.tiki.org


Folks from the BT may be improving it. Factor those improvements into the profile.

P1.1- User Guide: Tell users to employ aliases for 'To be avoided'


If an equivalent is to be avoided, it should be specified as an alias. The form to be avoided is probably common, so people are likely to search for the term using that form. So it's important that they can find the right term using that erroneous form, so they can see that it is to be avoided.

P1.1 Add Haitian creole to the list of languages supported by Tiki


One person at the TB workshop wanted that. He volunteers to translate Tiki in to creol. Marc will do it?

ISO code is 'ht'.

P1.1 In help file, describe two ways of creating a term


  • Using the terminology module
  • Creating a hyperlink with double parens inside the def of a term.

P1.1- Registered and anons should be allowed to ask questions


Right now, anons and registered can't even post a question on the forums. So if they are wondering how to say something, they can't ask.

They should at least be allowed to post on forums.

Maybe also post comments on pages.

TODO:
  • Change the profile accordingly
  • Change the test plan accordingly
  • Change the user documentation

P1.1 - Anons, Registered and even Editors, should not be allowed to create, delete or rename categories

Only admins.

But Editors can assign categories to a page.


Right now, anons don't have an easy way to get to the home page, or to the forums list.

Could be deal with either by:


See items marked BROKEN-LINKS4ANONS in the test plan.

This does not matter that much for the demo, cause we can just avoid spending too much time in the anons mode. People at the demo will be mostly interested in what people see when they are registered as editors.


P1.1 FOLLOWING ALIAS HIT DOES NOT DISPLAY ALL LANGUAGES

Requires programming


If you search for 'engin wiki' in French, then the system will list the alias by that name.

If you follow the link, it takes you to the aliased page ('moteur wiki'), but it does not show you all languages.

This is confusing. Following the alias should take you to the all languages view. This is important, because otherwise, the user will assume that there is only one language available for that term.


See items marked BROKEN-FOLLOWING ALIAS HIT DOES NOT DISPLAY ALL LANGUAGES in the test plan.

P1.3 What if you have only one page, but also one or more aliases

Requires programming


If there is only one page that matches the user's query and it's an exact match, then system takes you directly to that page, without showing list of hits.

But what if in addition to that page, there is also an alias that matches the query? In that case, the system should NOT take you directly there.

In fact, the rule for taking you directly to a page should be:
  • There is only one HIT, where hits are defined as either an alias or an actual page.
  • The hit is an actual match.

Note also that right now, if you have an alias that is an exact match, and nothing else, then the system DOES NOT take you there directly. It should.

Priority 2: These should be fixed before we advertise the profile widely


P2.0- ADMIN CAN CHANGE SITE DEFAULT LANG

Requires programming


If the admin tries to change the site's default language, it remains at the old value (English), at least, it appears so in the Admin i18n panel.

But in fact, the preference IS changed, and yu can tell cause if you logoff from admin, you see that the system displays menues in the new default language.

Also, once you log out of admin and back, the preference does appear correctly changed in the admin panel.

See items marked BROKEN-BROKEN-ADMIN CAN CHANGE SITE DEFAULT LANG in the test plan.

P2.1- Search can display hits in source and target languages.

Often, translators only want to find the equivalent of a term in the target language. Right now, they have to click on a hits to see that.

Also, at HTAGlossary, they have a page where all terms a are listed in En, Fr and Es. We need something like this.

Both situations could be dealt with if the listpages script listed the hits in all the langauges of interest.

This should be an option which is off by default. The profile would set it to on.

Note that also, the system would list hits in multiple languages only if there were less than N. N could be the language inclusion threshold option that LPH added.

Also, "relevant languages" means languages that the user has specified in his preferences

P2.0- USER LANGS DOES NOT CHANGE SEARCH LANGS


For registered at least, if you change the prerered langs to just Eng and Fr, and the site also supports Spanish, then the term search form still offers you Spanish as an option.

This does not matter for the demo or for the pilot sites, because their list of languages will be 2 or 3 at the most. So having a list of 3 languages offered to the user instead of 3 is not so bad.

See items marked BROKEN-USER LANGS DOES NOT CHANGE SEARCH LANGS in the test plan.

P2.1 COMMENTS HIDDEN- Coments should be hidden by default


Doesn't seem to be the case.

This doesn't matter that much for the demo, IF AND ONLY IF, we can ensure that the two language sides will be displayed half and hafl, even if comments are open on one side only. If we can't get that to work, then a way to minimize the situation is to make sure that comments are not open by default.

Look for items marked BROKEN-COMMENTS HIDDEN in the test plan


When doing a thematic search, terminologists will often write the definition of term A, and find that the definition references another term B which does not exist yet. They put term B between double parens, then click on the question mark.

When they do this, the edit page does not offer them to apply any templates.

Actually, admins are allowed to do this, but not editors.

Probably just a permission that needs to be set.

Make sure add a test cas for this in the test plan.

P2.1 Allow users to track creation of new terms


Activate user watches translations option in i18n panel.

Also, change the implementation of that feature a bit, so that the first element of the picklist is "all my preferred languages", and that is is selected by default. Right now, users must specify what languages they want to watch. But in most cases, the language they want to watch are probably those they have in their language preferences.

Another possibility is to have a checkbox:
All my preferred languages (English, French, Spanish)
PLUS
Picklist here

P2.2- LANG_CHOICE_FOR_ANONS (Alain will fine tune it): Terminology module does not offer possibility to search in French


If you configure the site so that it suports say, En and Fr, and you log on as a user who has not specified his languages preferences in the site nor in his browser, then he will only see English in the list of languages for the Terminology module.

Besides, for systems with 2-3 languages (which will be very common), do we really want to force all users to set their languages?

Proposed solution: When deciding the list of languages to search in (in the terminology module), if the system says that the user only speaks one language, then we should assume that it just means that he didn't specify languages in either the site or browser (because it doesn't make sense for people to only want to search in one language if they are on a site for multilingual terminology). In that case, assume that the list of languages to put in the picklist is all the languages supported by the site.

ML: This is what was needed for htaglossary.net (show all site languages and avoid that users need to set)

Note from AD: There is a function (in multilingualib.php I think) which does a logic similar to what will be needed here. It's the function that's invoked by the all_languages script, to decide what languages to display. Might want to reuse/expand that. The main difference is that this function chooses languages to display among those for which a particular page has translations. In the present case, you want to choose among ALL the languages that are supported by the site.

LPH: Added a language_inclusion_threshold in r21636 to deal with this and added it to this profile.

AD: More precisely, LPH added a setting: language_inclusion_threshold.

If set, say, at 4, then if a site has 4 or less supported languages, then whenever we offer a list of languages to the end user, we list all of the site's languages, but with his preferred languages first.

AD thinks that this is not quite right. If user specified En and Fr as source and target languages, then we DEFINITELY only want to list those two (in particular, when viewing terminlogy entries side by side).

I think it would be better if the list of languages to search for was set in the exact same way as the list of languages to display in the all_languages script, i.e. If more than one languages specified by user (either in browser or on wiki site), then give choice between only those two languages. If only one language, then display ALL languages, but with the user's one language first (in the case of all-languages), or selected by default (in the case of the languages picklist).



This does not matter much at all. If you want to see all languages, just set the langauge threshold at 999! But it makes the admin UI confusing, and the code too. Better to remove the language threshold altogether eventually.

P2.2- When creating a term from a double parens, template should be chosen automatically


When I write definition of a term A and find that it references another term B which does not exist yet, if I click on the ? link, the new term page for term B should be automatically filled with a term template in the appropriate language.

But how do we guess which term to apply?

Well, the page for term A from which I clicked on the ? link is:
  • In the Term category
  • Is in (say) en

So I can guess that the template I want is called "Term Template-en".

We can implement this functionality generically, i.e., if I create a new page by clicking on a ? link on a page A, then if there is a template whose name is: "CategoryOfA Template-langofA" then use that template automatically.

Oh, and the language of the page should also be set automatically.

This will in turn be useful in generic multilingual stuff (if I click on a ? link on an En page, I probably want it to be created as a Fr page).

Also, if I am in workspace X (i.e. special category X) and I click on a ? link, I probably want that page to be created as a page in that same workspace by default.

Priority 3: These are additional new features that should eventually be added


P3- Self registration form should collect additional info


  • What organisation are you in?
  • Why do you want to join this community?

Both fields compulsory

When admin receives notification of registration, he sess the user's answers, so he can decide whether to put him in editors or not.

P3 - Need good error message if user tries to translate and there are no more languages to translate to


If user clicks on translate, and there are no languages left to translate to, user should get a message saying: "This pages has already been transalted into all languagse supported by this site".

Other possibility, if no more languages to be translated, then the Translate button should now be greyed out, and so should the Translate item in the languages menu.

Simple approval, versus to be approved status


For example:

  • Create a category to capture that.
  • Category is displayed on the page.
  • Can modify it by editig the page and changing the category.
  • In version 4, possible to set permissions on the page so that only say, Admins can set that particualr category.
  • There is a page listing all pages that fit a particular category (ex: "Need approval").


Say there is a page "Translation Memory", but I don't know. I create a French entry "Mémoire de traduction". I then translate it and specify "Translation Memory" as the name of the equivalent.

In that case, the system will tell me that "Translation Memory" already exists, and ask me to go back.

It would be MUCH better if the system offered me right there to link "Translation Memory" to "Mémoire de traduction".

Note: This would be useful not only for terminology, but also for general translation features.

ML: perhaps the box could also show pages that contain same characters (in AJAX like quick_edit box) because it could have a disambiguation suffix I could be unaware about.


PROGRAMMATION: Forum postings should allow empty text


Translators will use the forum mostly to post questions like this:

"How do you say "Machine Translation" in French?

Whenever I do this, I tend to just type that as the title of the post, and leave the body of the message blank. But then the system tells me that the body of the message should not be empty. But the error message is so small that I don't notice it, and I assume that my message got posted (because the system shows me the message I just wrote).

The system really should accept posts with empty body. This should be the default behaviour in my opinion, but maybe it should be overrideable in the options panels.


PROGRAMMATION: Make it possible to use Categories for domains


Terminolgists (and, to a much lesser extent, translators) like to assign domains like Health, Education, etc... to terms.

Categories could be used for that, but they present many problems.

First problem is that it doesn't work in IE. At least on Alain Désilets' machine, whenever he does Edit, and then tries to click on a category, the system doesn't respond to the click (i.e. the checkbox remains unchecked).

Second problem is that at the bottom of the page, each category is listed, ALONG WITH ALL THE PAGES THAT BELONG TO THE SAME CATEGORY. This takes up way too much real-estate. Should have an option so that only the list of categories is provided, and they are concatenated in a compact way. For example:

Computer Science; Web 2.0; Sociology

Marc Laporte mentions that the module "change category" has lots of useful features.

  • Should editors be allowed to create/modify/delete categories, or should it just be admins?
  • May need to change code a bit so that the categories don't take so much real estate.
  • Should each category be multilingual, or should we have parallel category hierarchies in different language?

Maybe freetags would be better? Their display is more compact than that of categories. But on the other hand, they are not hierarchichal, and it's harder to control what folks will put in there. Also, when you display "all" languages, tags are not displayed. Only when you display a single language.

Ideally, should also be possible to search by category. But already, being able to just see the categories for each page is good.

Related:
http://doc.tiki.org/Module+change_category

Figure out the right level of tracking


  • By default, users should be setup to track certain things. What should those things be:
    • Track pages that they themselves created?
    • Track creation of new pages (i.e. new terms), so that they can track implicit terminology questions from other users?


Tracking a page should also track its translations


  • If I create a term in English for which I don't know the French equivalent, as a way of implictly asking a question. Then, when someone actually translates that page to create a French equivalent, I should be notified of that.
  • But right now, that does not happen.
  • Note: Maybe a better way to ask a question is to use a discussion forum. See todo regarding forum.

Simple approval mechanism for terms


For example:
  • A category Status with sub categories Approved, Needs Approval.
  • By default, all pages are assigned Needs Approval.
  • Only a certain group (Ex: Terminologists) are allowed to change that category.
  • There is a page listing all pages with Needs Approval.

When translating, only list languages that I speak


If the site supports 12 languages but I told it that I only speak 2, then when I click on the Translate button, the system should only give me the choice between those 2 languages. Not all 12 of them.

Automatically select language of equivalent when possible


  • If I translate a term to another language, if there is only one language left in the user's language preferences, for which a translation of that term does not exist, then automatically select that language by default.
  • For example, if I have set only En and Fr as my languages, and I am translating an En term, then system should automatically select Fr by default for the translated page.

Allow people to vote on the best equivalent


Simplest way to do this is to use the proposal plugin: http://doc.tiki.org/PluginProposal.

For example, if you want to specify a list of possible alternatives for a term, "wiki engine", you could write:

((wiki engine)): {proposal()}{PROPOSAL} (alias(wiki system)): {PROPOSAL(){PROPOSAL} (alias(wiki backend)): {PROPOSAL()}{PROPOSAL}

Then each equivalent is displayed with a voting plugin next to it.

Problem with that is that the vote plugin takes WAY too much realestate! Maybe we could have an argument to the PROPOSAL plugin which would tell it to only display a summary of the votes, without details of who voted for what. There could be a link allowing people to see more details.

For example, the above could be redndered more or less as follows

wiki engine accept(0), undecided(0), reject(0) (details) etc...

By clicking on accept, undecided, or reject, you would vote in favour of that. If you click on details, you get the current display whith who voted for what.

Terminology module should validate that Terminology PROFILE has been applied

  • The Terminology module should check that the Terminology profile has been applied. If it hasn't, it should display a highly visible warning telling the admin to apply that profile (and providing a link with instructions on how to do this... for example, a link to the profile itself, and the profile would have instructions on how to apply it.)
    • Done, but the link that points to how to install the profile could be more specific. It could point to the admin page for applying the profile.

Automatic translation of labels when creating an equivalent


  • Say I have a page "web browser", and I want to create its French equivalent "navigateur web".
  • I click on Translate button.
  • The content of the English page is pasted into the French page.
  • The problem is that all the labels like Synonyms, Definition, must be translated.
  • And they need to be translated in a standardized way.
  • It would be nice if these could be translated automatically.
  • Here's a generic way in which this could be done.
  • When we create a new translation, the system will automatically translate occurrences of an English page name, to the name of the corresponding French page.
  • So, now all we need to do create an English page Synonym with a French equivalent Synonymes.
  • This feature would be useful in other ways.
  • It would automatically translate links to English pages into links to French pages.
  • It would automatically translate English terminology to French terminology (often, terms are captured as pages, even on sites where Terminology profile is not used).
  • Question: Won't that be too slow?

Alias search should respect language


  • Right now, if you search for a word in English, and there is an alias for that word that corresponds to a French page, the alias will be listed.
  • The list of aliases should instead be filtered on the basis of the language of the page they refer to.


Create all terms in a same category called Term


  • Terms should all be created in a same category called Term. Search and page creation form for the Terminology module should use that category. Make the seeded pages in the profile part of that category.
  • Note: The list of aliases should be filtered, so that we only show aliases for pages that are in that category.

Put a new users dashboard for admins, so they can move new users to the Editors group.



Related wishes


Alias


Test plan


Below is a list of scenarios that needs to be tested for this profile. Eventually, they should be implemented as automated tests using Selenium.

Last tested
  • Date: 2009-11-04
  • By who: Alain Désilets
  • Branch/Revision number: Trunk/r22863

Setting up the site for testing

  • Reinstall the DB, using Barebones profile
  • Install the Terminology profile
  • Set the default site languages as English. Set French and Spanish as alternative languages
    • Admin > i18n
    • Default Language: English
    • Click on the Restrict support languages checkbox.
    • A list of languages opens up. Holding down the Ctrl key, click on English, French and Spanish.
    • Change preferences button.
  • Create two users: test_editor (in Editors group) and test_registered (in Registered group)
    • Admin > Users (Users link at bottom of page)
    • Add New User tab
    • In User:, type name of the user
    • Type a password twice.
    • Uncheck Send an email to the user in order to allow him to validate his account.
    • Add button.
    • Your new user appears in the list at bottom of page. If you need to change his group:
      • click on the group icon beside it.
      • click on the green plus sign beside the groups you want to add this user to.
  • Create a posting in one of the discussion forums.
  • Make a change to page 'wiki engine', so it has SOME HISTORY.
  • add a comment to page 'wiki engine'

Testing anon permissions

  • Logoff
  • Make sure anon CAN:
    • See a link to the site's home page, visible at all time (BROKEN-LINKS4ANONS).
    • See a link to the forums at all time (BROKEN-LINKS4ANONS)
    • view the terminology module
    • that the terminology module offers you to search in English, French, Spanish and 'any language'. The language that is selected by default is 'any language'.
    • do a term search (use English query 'wiki engine')
    • Make sure you see En, Fr, and Es are displayed at same time (without having to specify all languges), with En and Fr at the top, side by side, and Es below the two of them.

  • Go to English page 'wiki engine'
    • Make sure anon CAN:
      • View comments
    • Make sure anon CANNOT:
      • Post comment on a page
      • Modify page (i.e., no Edit button present)
      • Rename page (i.e., no Rename button present)
      • Delete page (i.e., no Delete button present)
      • Translate the term (i.e., no Translate button present)

  • Go to English page 'wiki engine', click on History.
    • Make sure anon CAN:
      • View history of the page
      • Compare two versions of it.
    • Make sure anon CANNOT:
      • Rollback (i.e., there are no b links beside the different versions). NOTE: MAKE SURE YOU USE THE PAGE 'wiki engine, cause it's the only one that has an history. Pages that only have one version can never be rolled back anyways).

  • Go to tiki-forums.php
    • Make sure anon CAN:
      • View the list of forums
      • Click on a forum and view its list of messages
      • Click on a message and view its content
    • Make sure anon CANNOT:
      • Post on the forum
      • Delete a forum posting

  • Try to go to tiki-admin.php
    • Make sure the system says you can't, cause you're not logged in.

Testing registered

  • Logon as test_registered
  • Make sure registered CAN:
    • See a link to the site's home page, visible at all time.
    • See a link to the forums at all time.
    • view the terminology module
    • that the terminology module offers you to search in English, French, Spanish and 'any language'. The language that is selected by default should be 'any language'.
    • do a term search (use English query 'wiki engine')
    • Make sure you see all three languages (English, French and Spanish) languages displayed at same time (without having to specify all languages)

  • Go to English page 'wiki engine'
    • Make sure registered CAN:
      • View comments
    • Make sure anon CANNOT:
      • Post comment on a page
      • Modify page (i.e., no Edit button present)
      • Rename page (i.e., no Rename button present)
      • Delete page (i.e., no Delete button present)
      • Translate the term (i.e., no Translate button present)

  • Go to English page 'wiki engine', click on History.
    • Make sure registered CAN:
      • View history of the page
      • Compare two versions of it.
    • Make sure anon CANNOT:
      • Rollback (i.e., there are no b links beside the different versions). NOTE: MAKE SURE YOU USE THE PAGE 'wiki engine, cause it's the only one that has an history. Pages that only have one version can never be rolled back anyways).

  • Make sure registered CAN change his language preferences:
    • Preferences link (on the left)
    • For Your preferred language, choose Spanish
    • Click on Can you read more languages? . Select French, then English in that order.
    • Change preferences button.
      • Make sure menus etc.. are displayed in Spanish
      • Do a search for moteur wiki in French
        • Make sure that French is on the left, but Spanish is the second language displayed on the right, not English.
    • Change your language preferences so that English is the default language, and French and Spanish are the other languages in that order.
    • Make sure menus are displayed in English.
    • Search for moteur wiki in French.
      • Make sure that French is on the left, but that now, English is the second language on the right, not Spanish.

  • Go to tiki-forums.php
    • Make sure registered CAN:
      • View the list of forums
      • Click on a forum and view its list of messages
      • Click on a message and view its content
    • Make sure registered CANNOT:
      • Post on the forum
      • Delete a forum posting

  • Try to go to tiki-admin.php
    • Make sure the system says you can't.

Testing editors

  • Logon as test_editor
  • Make sure editor CAN:
    • See a link to the site's home page, visible at all time.
    • See a link to the forums at all time.
    • view the terminology module
    • that the terminology module offers you to search in English, French, Spanish and 'any language'. The language that is selected by default should be 'any language'.
    • do a term search (use English query 'wiki engine')
    • Make sure you all three languages (English, French and Spanish) displayed at same time (without having to specify all languges)

  • Go to English page 'wiki engine'
    • Make sure editor CAN:
      • View comments
      • Post comment on a page
        • Post comment on the English side. Make sure it appears and is associated with the English side.
        • Post comment on the French side. Make sure it appears and is associated with the French side.
      • Modify page (i.e., there is an Edit button)
      • Rename page (i.e., there is a Rename button)
      • Translate the term (i.e., there is a Translate button)
      • Detach a term from its translation
        • Make sure that the page has a Spanish version initially.
        • Click on Translate button.
        • In the Manage existing translations of this page list, click on the X beside one of the translations. (BROKEN: On 2009-12-22, Alain tested the proposals/4.x version, and test_editor could not manage the translations, eventhough it had tiki_p_detach_translation permission. However, Admin was able to do it).
        • Go back to page "wiki engine", and make sure that the language list does not offer you Spanish anymore.
        • Click on Translate button again, and in Add existing page as a translation of this page:, choose the Spanish version and click Go to re-attach it to the other two versions.

    • Make sure editor CANNOT:
      • Delete page (i.e., no Delete button present)

  • Go to English page 'wiki engine', click on History.
    • Make sure editor CAN:
      • View history of the page
      • Compare two versions of it.
      • Rollback, i.e. click on the b link beside a particular version. NOTE: MAKE SURE YOU USE THE PAGE 'wiki engine, cause it's the only one that has an history. Pages that only have one version can never be rolled back anyways).

  • Make sure editorCAN change his language preferences:
    • Preferences link (on the left)
    • For Your preferred language, choose Spanish
    • Click on Can you read more languages? . Select French, then English in that order.
    • Change preferences button.
      • Make sure menus etc.. are displayed in Spanish
      • Do a search for moteur wiki in French
        • Make sure that French is on the left, but Spanish is the second language displayed on the right, not English.
    • Change your language preferences so that English is the default language, and French and Spanish are the other languages in that order.
    • Make sure menus are displayed in English.
    • Search for moteur wiki in French.
      • Make sure that French is on the left, but that now, English is the second language on the right, not Spanish.

  • Go to tiki-forums.php
    • Make sure editor CAN:
      • View the list of forums
      • Click on a forum and view its list of messages
      • Click on a message and view its content
      • Post on the forum
    • Make sure editor CANNOT:
      • Delete a forum posting

  • Try to go to tiki-admin.php
    • Make sure the system says you can't.

Searching for a specific term that exists

  • logon as test_editor
  • make sure language preferences are English first, French second
  • Search for term 'wiki engine' in English
    • Make sure system takes you directly to page 'wiki engine'...
    • ... and that it shows you English on the left and French on the right, NO SPANISH.
      • BROKEN: On 2009-12-22, Alain tested the proposals/4x version, and he found that the term was being displayed in all three languages, eventhough only two of them were specified in the user preferences
  • Search for term 'moteur wiki' in French
    • Make sure system takes you directly to page 'moteur wiki'...
    • ... and that it shows you French on the left and English, and Spanish below
  • change language preferences to be English first, Spanish second
  • Search for term 'motor de wiki' in spanish
    • Make sure system takes you directly to page 'motor de wiki'...
    • ... and that it shows you Spanish on the left and English on the right, and French below.
  • Make sure that term search is case insensitive
    • 'wiki engine', 'Wiki engine', 'WIKI engine', 'wiki Engine', 'wiki ENGINE', all take you to the same term 'wiki engine'.
  • Search in French for 'engin wiki'. This is not a page, but an alias for existing page 'moteur wiki'.
    • System should tell you that it did not find any hits, but should point out that there is an alias by that name. The alias should be listed.
    • If you click on the Alias, you should end up at 'moteur wiki'...
    • .. and it should display all languages.
      • Broken (trunk/r22863, AD): When you click on the alias, it does take you to 'moteur wiki', but it does not show all languages.
  • Set the search language to 'any language', and search for 'moteur wiki'.
    • Make sure it takes you directly to that page (not to a list of hits), and that it displays the term in all applicable languages.that some hits are listed for all three languages.
    • And that clicking on any of them displays the term in all applicable languages.
  • Set the search language to 'any language', and search for wiki.
    • Make sure that some hits are listed for all three languages.
    • And that clicking on any of them displays the term in all applicable languages.

User changes language preferences

  • Logon as test_editor
  • Make sure preferred language is en, and that fr and es are specified as the other languges (in that order).
  • Check that terminology search form offers all three languages (en, fr, and es).
  • search in French for 'moteur wiki'
  • Check that all three languages (fr, en, es) are displayed, IN THAT ORDER
  • Click on the Home Page link
    • Make sure it takes you to the English user guide
  • Click on the Help link underneath the Terminology module
    • Make sure it takes you to the English user guide
  • Change language preferences so that fr is the preferred language, and the other languages is es (no English)
  • Check that terminology search form now only offers fr and es
    • BROKEN (trunk/r22863, AD): BUGID = USER LANGUAGE PREFERENCES NOT TAKEN INTO ACCOUNT IN SEARCH LANGUAGES LIST
  • Change language preferences so that fr is the preferred language, and the other languages are es and en in that order.
  • search in french for 'moteur wiki' (
  • Check that all three language are displayed fr, es and en in that order (in other words, Spanish now comes before English).
  • Click on the Accueil (Home) Page link
    • Make sure it takes you to the French user guide
      • BROKEN (trunk/r22863, AD): Takes you to the English home page. Probably a problem with the profile, not a problem with Tiki. Probably need to set prefs so that Tiki guesses language based on user preferences.
  • Click on the Help link underneath the Terminology module
    • Make sure it takes you to the French user guide
      • BROKEN (trunk/r22863, AD): Takes you to the English user guide. Probably a problem with the profile, not a problem with Tiki. Probably need to set prefs so that Tiki guesses language based on user preferences.

Layout of all languages

  • logon as test_editor
  • setup user languages to be en, fr, es
  • search for 'wiki engine' in English
    • Make sure that fr and en are side by side, with es below both.
    • Make sure that fr and en each occupy 50% of the available space.
      • EVEN IF COMMENTS ARE OPEN ON ONE SIDE< BUT NOT ON THE OTHER.
  • search for 'tagging' in English
    • Make sure that only fr and en are displayed, and that they are side by side (tagging does not have a spanish version in that profile)


Searching for a word with only partial matches

  • Logon as editor
  • Make sure all three languages are enabled
  • Search for wiki in English
    • Make sure you see 'wiki engine' in the list, but no aliases
    • And that clicking on it takes you to that term, with the other three languages listed
  • Search for wiki in French
    • Make sure you see 'moteur wiki' in the list of pages, as well as 'engin wiki' in the list of aliases (above the pages)
    • And that clicking on either of those takes you to page 'moteur wiki', with the other three languages listed
      • BROKEN: CLICKING ON ALIAS IN SEARCH RESULTS TAKES YOU THERE BUT DOES NOT DISPLAY ALL LANGUAGES
  • Search for wiki in Spanish
    • Make sure you see 'motor de wiki' in the list,but no aliases
    • And that clicking on it takes you to that term, with the other three languages listed


Searching for a term that does not exist and then creating it

  • Logon as test_editor
  • Search for term 'machine translation' in English
    • Make sure it does not exist.
    • Make sure system gives you a button to create it.
    • Click on the button
    • Make sure the English term template is being used to fill the edit for
    • Make sure that the first line of the page is the Definition filed, NOT SOME Incomplete translation notice of sort.
    • Edit and save.
    • Make sure that the language of this new term was set to English (i.e., the language picklist at the top right says English)
  • Search for term 'traduccion automatica' in Spanish
    • Make sure it does not exist.
    • Make sure system gives you a button to create it.
    • Click on the button
    • Make sure the Spanish(not English) term template is being used to fill the edit for
    • Make sure that the first line of the page is the Definition filed, NOT SOME Incomplete translation notice of sort.
    • Edit and save.
    • Make sure that the language of this new term was set to Spanish (i.e., the language picklist at the top right says Spanish)
  • Search for term 'traduction automatique' in French
    • Make sure it does not exist.
    • Make sure system gives you a button to create it.
    • Click on the button
    • Make sure the French (not English) term template is being used to fill the edit for
    • Make sure that the first line of the page is the Definition filed, NOT SOME Incomplete translation notice of sort.
    • Edit and save.
    • Make sure that the language of this new term was set to French (i.e., the language picklist at the top right says French)

  • Search for term 'une nouvelle page', with language set to 'any language'.
    • Make sure it does not exist.
    • Make sure system gives you a button to create it.
    • Click on the button
    • Make sure that the system asks you to specify the language of this new term. Select French, then click on Choose language button.
    • Make sure the French (not English) term template is being used to fill the edit form.
      • BROKEN: (proposals/4x, 2009-12-22, Alain) edit form opens a blank page instead of a French template.
    • Make sure that the first line of the page is the Definition filed, NOT SOME Incomplete translation notice of sort.
    • Edit and save.
    • Make sure that the language of this new term was set to French (i.e., the language picklist at the top right says French)
  • Create a new term that contains a comma and accented characters
    • search for French term "été indien, Québec"
    • The system will tell you that it does not exist.
    • Click on the button to create that new term.
    • In the Synonymes et acronymes section, type (alias(été des indien, Québec))"
    • Click on Save
    • Make sure that the page displays correctly, and that the alias appears as a hyperlink (BROKEN-ALIAS_DOES_NOT_WORK_IF_IT_CONTAINS_DOUBLE_HYPHEN).
    • Click on the link to the alias "été des indiens", and make sure it displays correctly.
    • Do a term search for 'été'
    • Make sure "été indien, Québec" appears in the list of pages, and that the alias "été des indiens, Québec" appears in the list of aliases (BROKEN-ALIAS_DOES_NOT_WORK_IF_IT_CONTAINS_DOUBLE_HYPHEN).
    • Click on both the page and the alias, and make sure they display correctly(BROKEN: ALIAS DOES NOT WORK IF IT CONTAINS DOUBLE HYPHEN).

Help files

  • Log on as editor
  • Set language preferences so that English comes first
  • Click the Help link under the Terminology module
    • Make sure it goes to the User Guide in English
    • Make sure that the language picklist offers you French and that it takes you to the French User Guide (BROKEN-ENGLISH_USER_GUIDE_DOES_NOT_POINT_TO_THE_FRENCH_USER_GUIDE).
  • Click the Admin link under the Terminology module
    • Make sure it goes to the Admin Guide in English
    • Make sure that the language picklist offers you French and that it takes you to the French Admin Guide.
      • Note: For the moment, the Admin link points to the English version of the help file. That's because this doc has not been translated yet.
    • For both admin and user guides, click on every hyperlink they contain to make sure they work
      • Do this in both languages.

Translate a term

  • logon as test_editor
  • Search for term 'tagging' in English
  • Go to it.
  • Click on Translation button
    • Make sure that the only language that is offered for translation is Spanish (French already exists for that page)
  • Choose Spanish as the language of the translation
  • Write a bit of translation, then click on Complete Trnslation button.
  • Go to the Spanish page that you created, and select all languages.
    • Make sure you see both the Spanish and English pages listed, as well as the French.
  • Go to an English page that does not have a Spanish translation (can also create one like 'rss feed')
  • Try to translate it to Spanish, giving 'motor de wiki' as the spanish name.
    • System should tell you that this page already exists
      • BROKEN (trunk/r22863, AD): The system does display an error message, but if you click on the Back button that it displays, it doesn't actually take you back. At least, not in Firefox.
  • Try the same thing, but using a different capitalisation
like 'Motor de Wiki'
  • Try the same thing, but putting more than one space between the two words: Motor de Wiki'
      • BROKEN-Can translate to an existing page name if add more spaces than there are in the existing name
    • System should still tell you that the page already exists.
  • Go to an English page that does not have a French translation (can also create one like 'rss feed')
  • Try to translate it to French, giving as the French name, an existing alias (as opposed to an existing page). For example, 'engin wiki'.
    • System should still tell you that the page already exists.
      • BROKEN (trunk/r22863, AD): The system does display an error message, but if you click on the Back button that it displays, it doesn't actually take you back. At least, not in Firefox.
  • Try same thing, but with a different capitalisation of the existing alias (ex: Engin Wiki)
    • System should still tell you that the page already exists.
  • Create a page that is available in English only.
  • Try the same thing, but putting more than one space between the two words: engin wiki'
      • BROKEN-Can translate to an existing ALIAS name if add more spaces than there are in the existing name
  • Go to an English page that has neither French nor English translation.
    • Click on Translate button
    • Make sure that language is Unspecified by default, and that the picklist offers you the choice of both French and Spanish.

Testing aliases

  • Search in French for 'moteur wiki'
  • Click on the link 'engin wiki' in the Synonymes section.
    • This should lead you straight back to the 'moteur wiki' page, with all languages listed.
  • Search for 'engin wiki' in French
    • This should tell you that it was not found, but that there is an alias by that name.
    • Click on the alias and make sure it displays all languages
      • BROKEN: FOLLOWING ALIAS LINK FROM TERMINOLOGY SEARCH HIT LIST DOES NOT DISPLAY ALL LANGUAGES
  • Search for wiki in French
    • Make sure the aliases list only displays 'engin wiki', and not 'wiki server' (in other words, make sure that the alias search takes language into acccount).

Persistance of search language


  • logon as test_editor
  • Make sure lang prefs are eng, fr and es.
  • do a french search for 'wiki'.
    • check that the default search language remained at french in both the terminology module (on the right), and the search form at the top of the page.
  • click on the link 'moteur wiki'
    • Make sure that the search language remained at french in the terminology module (on the right).
      • BROKEN (Alain, 2009-12-22, proposals/4x, 2009-12-22): Search language defaulted to 'any language'
  • Go back to list of hits, and click on the alias 'engin wiki'
    • Make sure that the search language remained at french in both the terminology module (on the right), and the search form at the top of the page..
  • do a sPANISH search for 'wiki'.
    • check that the default search language remained at sPANISH in both the terminology module (on the right), and the search form at the top of the page.
  • click on the link 'motor wiki'
    • Make sure that the search language remained at Spanish in both the terminology module (on the right).
      • BROKEN (Alain, 2009-12-22, proposals/4x, 2009-12-22): Search language defaulted to 'any language'


Choice of search language in Terminology and normal Page Search do not interfere with each other.

  • Enable the search feature
    • Admin > Features
    • Check search checkbox and save.
  • Enable the two Page Search modules
    • In Admin section on the left, click on Modules
    • In Assign new module section, for Module name, choose Search wiki page.
    • Wait a bit, then in the Groups section, Ctrl-click on all three groups to select them.
    • Assign button.
    • Repeat above steps for the module called Search Wiki Page (new).
  • Check that search language of the Terminology module and the normal Page Search (old version) do not interfere with each other
    • In the Terminology module, do a search, for wiki, setting the language to French.
      • Make sure search language was set to French, and that only French pages are listed.
    • In the Search Wiki Page box, type 'wiki', and hit Go.
      • Make sure that the search language was set to 'any language' and that pages are listed for english, french and spanish.
    • Check that the language is still set to French in the Terminology module
  • Check that search language of the Terminology module and the normal Page Search (newversion) do not interfere with each other
    • In the Terminology module, do a search, for wiki, setting the language to French.
      • Make sure search language was set to French, and that only French pages are listed.
    • In the Search Wiki Page (new) box (NOTE: The one with 'new' suffix), type 'wiki', and hit Go.
      • Make sure that the search language was set to 'any language' and that pages are listed for english, french and spanis.
    • Check that the language is still set to French in the Terminology module.
    • In the search form that appears at the center top of the page, change language to Spanish, and hit Go.
    • Make sure that only Spanish pages are listed.
    • Make sure that the search language for the Terminology module is still at French.

Comments hidden by default


  • Open a page that has some comments ('wiki engine' for example?)
  • Comments should not be visible by default (BROKEN-COMMENTS_HIDDEN).


User and Admin doc is available in both English and French

  • And check that all links in them work.


Testing discussion forum

  • Check that can add a topic on a discussion forum.
  • Check that can add a topic with an empty content (just the title)

Testing change site languages

  • Logoff. Make sure that tiki displays menus in English
  • Log on as admin
  • Change the site default to French
    • System should show Spanish as the new default (BROKEN-ADMIN_CAN_CHANGE_SITE_DEFAULT_LANG).
  • Logoff
  • Make sure tiki now displays menus etc in French.

Test registration procedure

  • Login as admin
  • Set the sender email to an email address you have access to
    • Admin > General > Sender email
  • Logout
  • Register a new user test_new_user_registration
    • Click on Register link at top right
    • Fill in the form, but for the user email, specify a different email address than the one you used for the sender email above. This should also be an email address you have access to.
    • Make sure that the form asks you to enter the anti-bot code (a number displayed as an image).
    • Try to login as the test_new_user_registration user
      • Make sure the system does not allow you to do so (that user hasn't been approved yet).
    • After a minute or two, login to the email you specified as the sender email. The message should include:
      • Email specified for the new user
      • the site where the registration was done
      • ex: test_user_registration <alain_desilets@yahoo.com> has requested an account on terminology.tiki.org
    • The message should also include a link for validating the request. Click on that link.
      • Make sure that the system confirms that the registration was validated.
    • Next, log into the email account you specified as the new user account.



Notes post 2009-10 training

  • Less wiki syntax in content templates (should be in template when in edit mode)
  • Forums: no file attachments, no mood
  • Comments: only show filtering when more than x
  • IE6 has some visual issues
  • Editors can admin categories (perhaps they shouldn't?)

Tiki9

Issues

A

  • Applying profile: French accents are busted
  • language inclusion threshold: not working
  • Terminology module tpl: Exact match should not be checked by default
  • When clicking a search result, we get "More languages are available. To view them, update languages you can read from user preferences or your browser's preferences."
    • Anonymous users should just see all languages
  • Search for non-existing page, create it: it should get the proper category (term)

B

  • Implement Alain's input several languages at once
  • Add profile pages (ex.: motor wiki) to the created category (for a better out of the box demo)
  • Search from terminology module: would be nicer if URL would be descriptive (ex: categ=5)

Investigate