Jump to content
DV-JF

Editor permissions & active / default language | Searching for best approach

Recommended Posts

Hey girls and guys,

I'll want to open this thread in order to discuss a main problem I've run into with following setup:
 

I'm maintaining a site where different URLs are directed to the same folder. In site/ready.php the $user->language is set based on the $config->httpHost

<?php /* Set language based on the domain and user is not logged in */  

/* Slovenian */   
if(
    $config->httpHost == "www.domain.si" || 
    $config->httpHost == "domain.si" || 
    $config->httpHost == "domain.si.local") {
    if (!($user->isSuperuser()))	$user->language = $languages->get('si');
}
    
/* German */
elseif(
    $config->httpHost == "www.domain.at" || 
    $config->httpHost == "domain.at" || 
    $config->httpHost == "domain.at.local" ||
    $config->httpHost == "domain.ch" || 
    $config->httpHost == "www.domain.ch" || 
    $config->httpHost == "domain.de" || 
    $config->httpHost == "www.domain.de") {
    if (!($user->isSuperuser())) $user->language = $languages->get('default');
}

/* Croatian */
elseif(
    $config->httpHost == "www.domain.hr" || 
    $config->httpHost == "domain.hr" ||
    $config->httpHost == "domain.hr.local") {
    if (!($user->isSuperuser())) $user->language = $languages->get('hr');
}

/* English */
elseif(
    $config->httpHost == "www.domain.eu" || 
    $config->httpHost == "domain.eu" ||
    $config->httpHost == "domain.eu.local") {
    if (!($user->isSuperuser())) $user->language = $languages->get('en');
}

/* Italian */
elseif(
    $config->httpHost == "www.domain.it" || 
    $config->httpHost == "domain.it" || 
    $config->httpHost == "domain.it.local") {
    if (!($user->isSuperuser())) $user->language = $languages->get('it');
}

The homepage (id=1) has following settings:

1163626795_2019-10-2513_15_32.thumb.jpg.bb13dfb04ef00a5c497e2df66e9328d7.jpg

As you can see German (Deutsch) is set as default language. Everything is working nice and fine and I'm really happy with this kind of setup but now there are some new requirements, which causes me quite a headache :

  1. I've to add some pages only in one or two languages (they should not be present in German)
  2. I've to create some editor roles that are allowed to only edit (can be done with https://processwire.com/docs/user-access/permissions/#multi-language-page-edit-permissions) & add pages to their specific language.

What I've found out so far:

  1. The default language can't be disabled and must always be present (though this would be in my eyes the easiest solution)
  2. Creating my own "language select field" - example here: won't work in this case because I've to rely on the native languages in order to setup the right permissions for editors.
  3. There seems to be some solutionsbut I think these won't match for me because I've to think about handling editors and permissions, too.

After searching and searching, scratching my head and searching and searching again, the only possibility that comes to my mind is to add another language for German and assign this language to the specific URL's instead of the default language.

The advantages with this solution for me:

  • I could activate or deactivate any language on any page
  • Editors which are allowed to add pages can get the permission page-edit-lang-default without affecting the German pages.

The disadvantages:

  • All multi-language-fields will have an empty tab for the default language - this may irritate editors a lot
  • Seems to me like a lot of work to do because I've to copy the language field nearly for 1000 pages/repeaters (maybe I'll find an SQL query)

My questions:

  1. How would you handle this task?
  2. Could my setup be optimized in a completely different way?
  3. If I go for my solution (adding another language for German) would it be possible to hide the language tab for default language in any way? 

If some points aren't clear enough please don't hesitate to ask.

Many greets...

Share this post


Link to post
Share on other sites

Push...

No, ideas?

@ryan may I asked you, if you could have a look on this thread and give me a little hint 🙂?

Many greets! 

 

Share this post


Link to post
Share on other sites
On 10/25/2019 at 4:28 PM, DV-JF said:

The disadvantages:

  • All multi-language-fields will have an empty tab for the default language - this may irritate editors a lot
  • Seems to me like a lot of work to do because I've to copy the language field nearly for 1000 pages/repeaters (maybe I'll find an SQL query)

There's certainly a lot to be considered, and quite possibly I haven't thought about all pros and cons, but...

If you have the multi-language settings* "what should happen when alternate language is empty (not translated)?" -> show default language content, then the authors would still only edit the original german default tab, and simply leave the 2nd "fake" german language version alone (just make sure it's activated).

re: "don't confuse authors"
You can simply hide the 2nd german language tab via custom admin CSS or/and hooks. That way, the default tab is still the relevant one for german and is only empty if this page is really meant to not exist in german. Only potential caveat I can think of: required fields. afaik you can't say field X is only required in one language and not in another. At least not out of the box.

You'd probably have to adjust search, and navigations (don't show double entries, always rule out default, etc.)

* this is defined at field-level, and afaik is the default option

Share this post


Link to post
Share on other sites

I'm no expert in multilanguage, done exactly one site, so I can't give any advice. But my primary site is dual language, slovene primary, english being the second, and all that belongs to english language is under /en/ in my page structure. I have different structure, menu, pages, assets etc. Why I did it that way? Because you have all the freedom (or at least I believed so 3-4 years back when I made the site). I guess this is not a path you could take now.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • By Lmwt
      Hi there,
      using the multi-language site-profile, yesterday I moved all my files into a directory so that the home page is not displayed on my domain url, then I moved them back to the root directory. Maybe I made a mistake while moving the files, but since then I got a "403" error message:
      "Forbidden You don't have permission to access this resource."
      and  these new files appeared in FileZilla as shown on the picture : .xsessions.error, etc.
      The browser show the connection as "not secure" even after clearing the browser data.
      Help!
      Thanks in advance

    • By wish-fulfillment
      how to change the default language in processwire cms
      from Eng  to Ru


    • By Mustafa-Online
      Did any one tried to integrate "WordPress New Editor" into ProcessWire ??
      I did some searches and I found this Repo on Github: https://github.com/front/drupal-gutenberg Which allows Drupal Users to use Gutenberg.
      Any Thoughts ?

       
    • By MilenKo
      Hello guys.
      I've decided to get brave and start my first delayed output profile for a remake of my knowledge sharing profile. It went all.good so far but I decided to make it multilingual as to fit the users needs.
      For starters, added a field named: image_single and limited the input to one image as this would be used for the logo. Added.the markup to allow the front end editing (method D or direct edit tag to the <img>. After double clicking on the image, I see the pop-up showing up for a second and then closes. As far as there are no errors in the logs, I am a bit stuck to find the reason. I've read earlier that some users had issues with multilingual fields but could not find anything to point me to the right direction. Any ideas or suggestions?
    • By pwuser1
      Hi people I think I have seen them all but maybe I missed some of the just wanted to know what do you recommend for an editor with JQuery autocompletion or support? 
×
×
  • Create New...