History: Collaborative_Multilingual_Terminology

Preview of version: 442

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.tikiwiki.org/

To try on your own, get a pre-release of Tiki4 at Download, and apply this profile.


Table of contents



Features & settings

YAML
instructions: Get Started with Multilingual Terminology preferences: 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 # # 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 # # Backlinks (what links here) and semantic (how does that backlink relate?) # feature_backlinks: y feature_semantic: 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)



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: 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 enable: [ topic_smiley ] 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 enable: [ topic_smiley ] list: [ topic_reads ]


Wiki pages included with this profile


This is where we include some wiki pages
Id Page Last modification Categories
278 collaborative_terminology_platform_blog
Thu 08 of Mar, 2012 03:16 GMT-0000
Documentation
279 collaborative_terminology_platform_bl...
Thu 08 of Mar, 2012 03:17 GMT-0000
Documentation
244 collaborative_terminology_platform_fi...
Thu 08 of Mar, 2012 03:29 GMT-0000
Documentation
286 collaborative_terminology_platform_in...
Admin page for Terminology features
Thu 08 of Mar, 2012 03:30 GMT-0000
Documentation
367 collaborative_terminology_platform_in...
French User guide for Collaborative Multilingual Terminology module
Thu 08 of Mar, 2012 03:33 GMT-0000
Wiki pages included by profiles
277 collaborative_terminology_platform_in...
Thu 08 of Mar, 2012 03:33 GMT-0000
Wiki pages included by profiles
396 collaborative_terminology_platform_in...
Template for German terms
Sat 17 of Mar, 2012 02:29 GMT-0000
Documentation
305 collaborative_terminology_platform_in...
Template for new English terminology entries
Sat 17 of Mar, 2012 02:29 GMT-0000
Documentation
375 collaborative_terminology_platform_in...
Sat 17 of Mar, 2012 02:30 GMT-0000
Documentation
309 collaborative_terminology_platform_in...
Modèle pour entrées en français
Mon 15 of Oct, 2012 01:57 GMT-0000
Documentation
242 collaborative_terminology_platform_in...
Help page for the profile.
Sun 18 of Mar, 2012 20:42 GMT-0000
Wiki pages included by profiles
288 collaborative_terminology_platform_mo...
Sample terminology entry in French
Mon 28 of Jul, 2014 16:10 GMT-0000
Wiki pages included by profiles
374 collaborative_terminology_platform_Mo...
Just a sample spanish term
Sun 18 of Mar, 2012 20:40 GMT-0000
Documentation
243 collaborative_terminology_platform_rs...
Thu 08 of Mar, 2012 03:15 GMT-0000
Documentation
281 collaborative_terminology_platform_ta...
Taggage
Sun 18 of Mar, 2012 20:44 GMT-0000
Wiki pages included by profiles
280 collaborative_terminology_platform_ta...
Tagging
Sun 18 of Mar, 2012 20:45 GMT-0000
Wiki pages included by profiles
287 collaborative_terminology_platform_wi...
Just a sample term.
Sun 18 of Mar, 2012 20:45 GMT-0000
Wiki pages included by profiles

collaborative_terminology_platform_include_module


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: 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
objects: - ref: Multilingual_Permissions 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 Admins: description: Have all rights allow: [ admin ]



Todos


Below is a list of todos, sorted by priority

Priority 1: Need to be done before the Oct 7 demo at Translation Bureau


P1.0 ALIASES_DONT_WORK


Assigned to: Louis-Philippe

If you do this:
  • logon as test_editor
  • search for 'wiki' in French
  • click on 'moteur wiki'
  • click on the 'engin wiki' link

You are supposed to end right back to page 'moteur wiki'. But instead, you sometimes end up at an empty page 'Home'.

This bug is intermittent. Sometimes, I have found that it didn't happen if I searched for 'moteur wiki', which takes me directly to that page, instead of requiring me to click on 'moteur wiki' in a list of hits. But sometimes, that reproduces the bug too.

Actually, it seems that if you are viewing 'moteur wiki' through script tiki-index.php, then the 'engin wiki' link works. But if you are viewing it through the tiki-all_languages.php script, then the 'engin wiki' link does not work.

See sections marked BROKEN-ALIASES_DONT_WORK in the test plan.

This needs to be fixed before the TB demo, cause aliases are the way in which we can specify that a term say, 'wiki engine', can translate to either 'moteur wiki' or 'engin wiki
'. And people attending the demo are bound to ask about that.

P1.1 - Extensive help pages


  • Help pages should cover all the common tasks.
  • In particualr, it should provide instructions about how to deal with the situation where a same word can refer to different things. For example, Tag can refer to metadata, to a markup element, or to a dog tag. The solution is to create pages with slightly different names, for example "tag - metadata", "tag - markup", "tag - identity plaque".
  • Refactor the instructions pages into one long page called "Guide to collaborative multilingual terminology creation". The guide will have a section for Admins, and a section for Editors.
    • Section for editors comes first.
    • Section for editors talks about:
      • Searching for a term
      • Creating a new term
      • Creating an equivalent for a term
      • What to do if a same word can mean different things (create different pages which are more explicit, ex: tag — dog plaque, vs tag — metadata).
      • Tracking certain pages or the whole site
      • Using categories for domain classification
    • Section for admins talks about:
      • Finalizing the installation
      • Keeping abreast of new users
      • Approving new users
      • Tracking the whole site
  • The guide should provide instructions about using categories to assign domains. The admin section should suggest that the admin seed the category tree.
  • Guide should provide instructions about how to manage users.
    • Ask for email notification of new users.
    • Move new users from Registered to Editors soon after registering.
    • What are the different groups and their permissions.
  • Guide should bring users attention to the Last changes module as a way to keep track of what others do. Also, explain the page tracking feature.
  • How do I set up the glossary profile and make it multilingual?
  • How do I create a glossary entry in say, French?
  • Given an entry in say, French, how do I create the corresponding entry in say, English?
  • How do I avoid reinventing the wheel? For example, say I create a French entry for word X, and then want to create the corresponding entry Y in English, but someone already created Y, how do I find out about it and tie the two together. In particular, what happens if the existing Y is a very slight variation on the Y that I am currently trying to create (eg: I am creating the verb form, whereas the existing Y used the noun form)?
  • I don't want to change an entry... just comment on it.
  • How can I respond to someone else's comment?
  • Can I create an entry in French that has more than one English equivalent?
  • How do I create a domain hierarchy?
  • Admin: What is the current permissions scheme, and how do I customize it for my needs?
  • How do I specify my source and target language?
  • How do I enable a new language?
    • HOw to enable that language in the prefs panel
    • Create a new template for an entry in that language
  • Admin: How do I monitor spam, etc...
  • Admin: What to do when a new user registers?
  • User: how do I ask a terminology queston
    • Create a terminology entry for it, and put a comment asking for its translation.
    • Or, post the question on appropriate discussion forum. Once you have decided which is best, please create a bilingual terminology entry so people will find it more easily later.
  • User: How to keep abreast of what's going on?
    • Can ask to watch the whole site...
    • Or, can ask to watch a partiular forum
    • By default, may be notified of changes made to pages you created, or to forum posts that you create.

P1.1 Translate guide to French


  • Make it so that the guide is available in French and English.

This is necessary for the Translation Bureau demo, cause they are very touchy about those things.

Priority 2: These should be done before we actually deploy the system on pilot operational site


P2.0- ADMIN_CAN_CHANGE_SITE_DEFAULT_LANG


If the admin tries to change the site's default language, it remains at the old value (English).

This does not matter that much for the demo, because the user can still specify his own language preferences, and those work. It only affects the default language that the site presents, which in most cases will be English anyway (which is what the default stays at). But it is important for the Réseau des traducteurs en éducation, since their main language is French.


See items marked BROKEN-BROKEN-ADMIN_CAN_CHANGE_SITE_DEFAULT_LANG in the test plan.

p2.1- USER_LANGUAGE_PREFERENCES_NOT_TAKEN_INTO_ACCOUNT


If user changes his language preferences to say, en and fr, the system still offers him all three languages.

When he searches for say, 'wiki engine' in English, he still sees the term in all three languages.

Note however that the system does take into account the order of languages. For example, if you specify en and es as your languages, then it will always display those two languages side by side with fr at the bottom. So, for that reason, it's not that important for the demo, because user is always garanteed to see his source and target language side by side (which is what really matters).

See items marked BROKEN-USER_LANGUAGE_PREFERENCES_NOT_TAKEN_INTO_ACCOUNT) ni test plan.


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.


P2.1 FOLLOWING_ALIAS_HIT_DOES_NOT_DISPLAY_ALL_LANGUAGES


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.

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


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 3: These should be fixed before we advertise the profile widely


P3.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.


P3.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

P3.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.




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


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.tikiwiki.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.tikiwiki.org/tiki-index.php?page=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 categorry 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 onlyh 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.

Setting up the site for testing

  • Reinstall the DB, using Barebones profile
  • Install the Terminology profile
  • Set the site lanmguages as English first, French second, and Spanish third
  • Create two users: test_editor (in Editors group) and test_registered (in Registered group)
  • 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 user 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 and Spanish. The language that is selected by default should be either English, or the language that you have specified as your preferred language in your browser (if you have set it).
    • do a term search (use English query 'wiki engine')
    • Make sure you see both languages displayed at same time (without having to specify all languges)
    • Open page 'wiki engine', and makme sure you can
      • View history of the page (but not rollback)
      • Compare two versions of it.
    • View forum
  • Make sure anons CANNOT:
    • Post comment on a page
    • Modify page
    • rollback page version (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).
    • Rename page
    • Delete page
    • Post on the forum
    • Delete a forum posting
    • Access an admin page.

Testing registered

  • Logon as test_registered
  • Make sure registered user 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 and Spanish. The language that is selected by default should be either English, or the language that you have specified as your preferred language in your browser (if you have set it).
    • do a term search (use English query 'wiki engine')
      • Make sure you see both languages displayed at same time (without having to specify all languges)
      • try this with both languages.
    • View history of a page (but not rollback)
    • View forum
    • Change his language preferences to English and French only.
      • and that this makes it so that the term search form only offers those two languages (no more spanish) (BROKEN-USER_LANGS_DOES_NOT_CHANGE_SEARCH_LANGS)
  • Make sure registered CANNOT:
    • Post a comment on a page
    • Modify page
    • rollback page version(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).
    • Rename page
    • Delete page
    • Post on the forum
    • Delete a forum posting
    • Access an admin panel

Testing editors

  • Logon as test_editor
  • Make sure editorsuser 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
      • Make sure that the terminology module offers you to search in English, French and Spanish. The language selected by default should be either English, or the language you specified as your first language in your browser (if you have done so).
    • do a term search (use English query 'wiki engine')
      • Make sure you see both languages displayed at same time (without having to specify all languges) ** do a term search (use query 'wiki')
    • Post a comment on a term (ex: 'wiki engine') and that:
      • the comment does appear
      • the comment is associated with the language for which it was created
      • try this with both languages.
    • View history of a page
    • rollback page version(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).
    • Modify page
    • Rename page
    • View forum
    • Post on the forum
    • Change his language preferences (and that this affects the choice of languages in the search form, and the list of languages being displayed in the all languages view) ((BROKEN-USER_LANGS_DOES_NOT_CHANGE_SEARCH_LANGS)
  • Make sure editors CANNOT:
    • Delete page
    • Delete a forum posting
    • Access an admin panel

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.
  • 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 on the righ
  • 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
  • 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-FOLLOWING_ALIAS_HIT_DOES_NOT_DISPLAY_ALL_LANGUAGES)

User changes language preferences

  • Logon as test_editor
  • Check that terminology search form offers all three languages (en, fr, and es).
  • search in English for 'wiki engine'
  • Check that all three languages (en, fr, es) are displayed
  • Change language preferences to only en and fr
  • Check that terminology search form now only offers en and fr.
  • search in English for 'wiki engine' (BROKEN-USER_LANGUAGE_PREFERENCES_NOT_TAKEN_INTO_ACCOUNT)
  • Check that only en and fr are displayed (no more es) (BROKEN-USER_LANGUAGE_PREFERENCES_NOT_TAKEN_INTO_ACCOUNT)

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
    • 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 'engin wiki', with the other three languages listed
  • Search for wiki in Spanish
    • Make sure you see 'motor de wiki' in the list
    • 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
    • Edit and save.
  • 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
    • Edit and save.
  • Create a new term that contains parentheses 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 ~np~(alias(été des indien))"~/n~
    • Click on Save
    • Make sure that the page displays correctly.
    • 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" appears in the list of aliases.
    • Click on both the page and the alias, and make sure they display correctly.


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
  • Try the same thing, but using a different capitalisation like 'Motor de Wiki'
    • 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.
  • 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.

Testing aliases


  • Search for French page 'moteur wiki'
  • Click on the link 'engin wiki' in the Synonymes section.
    • This should lead you straight back to the 'moteur wiki' page. (BROKEN-ALIASES_DONT_WORK)
  • Search for 'engin wiki' in French
    • This should tell you that it was not found, but that there is an alias by that name.

Persistance of search language


  • logon as test_editor
  • Make sure lang prefs are eng, fr.
  • do a french search for 'wiki'.
    • check that the default search language remained at french
  • click on the link 'moteur wiki'
    • Make sure that the search language remained at french (BROKEN-SEARCH_LANGUAGE_SHOULD_BE_PERSISTENT).
  • do a sPANISH search for 'wiki'.
    • check that the default search language remained at sPANISH
  • click on the link 'moteur wiki'
    • Make sure that the search language remained at sPANISH (BROKEN-SEARCH_LANGUAGE_SHOULD_BE_PERSISTENT).

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 Admin can change site languages

  • Log on as admin
  • Change the site default to Spanish
    • System should show Spanish as the new default (BROKEN-ADMIN_CAN_CHANGE_SITE_DEFAULT_LANG).

History

Information Version
Fri 02 of Oct, 2009 15:50 GMT-0000 alain_desilets 442
Fri 02 of Oct, 2009 15:48 GMT-0000 alain_desilets 441
Fri 02 of Oct, 2009 15:47 GMT-0000 alain_desilets 440
Fri 02 of Oct, 2009 15:45 GMT-0000 alain_desilets 439
Fri 02 of Oct, 2009 15:33 GMT-0000 alain_desilets 437
Fri 02 of Oct, 2009 15:22 GMT-0000 alain_desilets 436
Fri 02 of Oct, 2009 15:13 GMT-0000 alain_desilets 435
Fri 02 of Oct, 2009 15:08 GMT-0000 alain_desilets 434
Fri 02 of Oct, 2009 14:56 GMT-0000 alain_desilets 433
Fri 02 of Oct, 2009 14:55 GMT-0000 alain_desilets 432
Fri 02 of Oct, 2009 14:40 GMT-0000 alain_desilets 431
Fri 02 of Oct, 2009 14:24 GMT-0000 alain_desilets 430
Fri 02 of Oct, 2009 14:20 GMT-0000 alain_desilets 429
Fri 02 of Oct, 2009 13:39 GMT-0000 alain_desilets 428
Fri 02 of Oct, 2009 13:38 GMT-0000 alain_desilets 427
Fri 02 of Oct, 2009 13:37 GMT-0000 alain_desilets 426
Fri 02 of Oct, 2009 13:35 GMT-0000 alain_desilets 425
Fri 02 of Oct, 2009 13:27 GMT-0000 alain_desilets 424
Fri 02 of Oct, 2009 13:19 GMT-0000 alain_desilets 423
Fri 02 of Oct, 2009 12:36 GMT-0000 alain_desilets 422
Thu 01 of Oct, 2009 19:37 GMT-0000 alain_desilets 421
Thu 01 of Oct, 2009 19:36 GMT-0000 alain_desilets 420
Fri 02 of Oct, 2009 12:36 GMT-0000 alain_desilets 419
Fri 02 of Oct, 2009 12:15 GMT-0000 alain_desilets 418
Thu 01 of Oct, 2009 20:18 GMT-0000 alain_desilets 417