geekitude / dokuwiki-plugin-userhomepage

Dokuwiki plugin to automatically create user's homepage and/or namespace
https://www.dokuwiki.org/plugin:userhomepage
5 stars 9 forks source link

Option to make userhomepage "domain-aware"? #42

Closed lu-p-us closed 2 years ago

lu-p-us commented 3 years ago

In my Dokuwiki instance, user accounts are not managed by the wiki itself. Instead, accounts are managed in Windows active directory (AD) and Dokuwiki talks to AD via the authad plugin und LDAP. We have users from two domains, which works well for the login/user/account management part.

We also use the userhomepage plugin, but only with public pages (no private pages or namespaces).

The problem is, two different people could share the same login name, if you omit the domain information. Again, this is no problem for login, but is problematic regarding the name of the public user homepage: Both users might possibly end up sharing the same public page, because their login names (without the domain) are identical and so their public page's name.

In addition, I configured showuseras to show the real name as interwiki link. Sometimes, this results in showing the real name of person 1 (real name looked up in the domain of this user) and linking to the public page of person 2 (public page initially created by this user).

Is there a way to solve this problem, maybe by adding the domain name to a variable, template, … ? Can the plugin taught to be "domain-aware"?

geekitude commented 3 years ago

Hi

It would be technically possible but that would require to be abble to get current user's domain name.

I had a look at documentation of AUTHAD plugin but haven't been abble to find any usefull information. Maybe it would require to add a Helper component to AUTHAD plugin but I'm not sure about that :-(

lu-p-us commented 3 years ago

Hi and thanks for the quick reply.

I see your point and will ask the authad guys, if they can help.

geekitude commented 2 years ago

Did you get some feedback from AUTHAD author?

lu-p-us commented 2 years ago

Unfortunately no, as can be seen here. I guess Andreas is just too busy. Anyway, I'm still interested in a solution, but don't know how to proceed.

geekitude commented 2 years ago

Would it be enough to build user public page ID after user's real name instead of login ? Not yet saying that it is possible and that I will be abble to do it :sweat_smile:

That also means that you would have to transfer content from old ID to new one at some point. Would that be possible for you?

lu-p-us commented 2 years ago

That means instead of, e.g., mywiki.com/doku.php?id=user:u1 the user's homepage will be at mywiki.com/doku.php?id=user:user_one (of "u1" is login and "user_one" is "firstname_lastname" or "lastname_firstname")?

In my wiki, only few users actually added content to their homepage. Most of them still have the default auto-generated content from first login. Therefore I could just delete the unmodified homepages, they will be re-created at the new location after next login and manually move the few homepages with "real" content to their new locations … right? Sounds good to me.

geekitude commented 2 years ago

That's the idea (no need to delete anything before the creation of new pages though).

I'll try to work on that solution but it might take some time... I'll let you know.

geekitude commented 2 years ago

Added a new setting fullname_public_id to create new public pages based on users' full name. As I said, no content is transfered from existing public pages and those pages will simply stay there untill you manually remove them (note that showuseras has to be set to show interwiki link wich will not be a problem in your case).

I can't tell if everything will be fine or not with authad plugin :confused:

lu-p-us commented 2 years ago

Thanks for the very quick reply. What I did (in a testing copy of my wiki instance):

  1. update your plugin :)
  2. activate new setting
  3. logout and login --> new user homepage got created as intended
  4. copy content of old homepage to new homepage
  5. delete old homepage

So far so good. All mentions of me in the wiki now link to new user homepage. Perfect.

Until I noticed:

Could that be related to your helper functions?

geekitude commented 2 years ago

Hi

I'm totally responsible for first and last points : I forgot to remove a test line from code. New version published to fix that point, sorry for the trouble. I'll need more time to check for second point.

Le mer. 22 déc. 2021 à 13:39, Thomas Wolf @.***> a écrit :

Thanks for the very quick reply. What I did (in a testing copy of my wiki instance):

  1. update your plugin :)
  2. activate new setting
  3. logout and login --> new user homepage got created as intended
  4. copy content of old homepage to new homepage
  5. delete old homepage

So far so good. All mentions of me in the wiki now link to new user homepage. Perfect.

Until I noticed:

  • the recent changes page now has multiple (maybe 20 times) "ICI:user:" strings between the headline and the list of changes
  • all user references on the recent changes page now point to my, and only my, user homepage
  • the same "ICI:user:" string re-appears in the footer (docInfo div) of each wiki page

Could that be related to your helper functions https://www.dokuwiki.org/plugin:userhomepage#helper?

— Reply to this email directly, view it on GitHub https://github.com/geekitude/dokuwiki-plugin-userhomepage/issues/42#issuecomment-999547297, or unsubscribe https://github.com/notifications/unsubscribe-auth/ACA5CCLODKJHQ7PSYOD3ZL3USHBI5ANCNFSM4ZCHFORQ . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

You are receiving this because you commented.Message ID: @.***>

lu-p-us commented 2 years ago

ICI... strings are gone.

To add some information, which might be helpful: [[user>xxx]] mentions still link to the correct user page … or to an empty page, if I already moved its content to the new full name user page. Only the recent changes and old revisions pages seem to be affected.

geekitude commented 2 years ago

Good news for the unwanted strings and sorry again for that 😅 Could you add a screenshot or two for the remaining issue?

Le jeu. 23 déc. 2021 à 16:57, Thomas Wolf @.***> a écrit :

ICI... strings are gone.

To add some information, which might be helpful: [[user>xxx]] mentions still link to the correct user page … or to an empty page, if I already moved its content to the new full name user page. Only the recent changes and old revisions pages seem to be affected.

— Reply to this email directly, view it on GitHub https://github.com/geekitude/dokuwiki-plugin-userhomepage/issues/42#issuecomment-1000393183, or unsubscribe https://github.com/notifications/unsubscribe-auth/ACA5CCMH6ZK5HTB4Y2UA5H3USNBIFANCNFSM4ZCHFORQ . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

You are receiving this because you commented.Message ID: @.***>

lu-p-us commented 2 years ago

Happy new year!

It's a corporate wiki, hence I had to grey out A LOT. Sorry for the strange looking screenshot in result. Second, the language is set to German. Just tell me if I need to translate something.

It's a screenshot from the global recent changes page. I think "Old Revisions" is the correct term, if the wiki is set to English. After applying the steps described before, my name ("Thomas") links to my new public user homepage user:xxx_thomas_xxx - which is correct. But also all other names in the list of changes/revisions, like "Karsten", now link to user:xxx_thomas_xxx and even the name in the footer ("Raphael") now links to user:xxx_thomas_xxx - which is the same for all footers on any page.

all hyperlinks to same user homepage

I hope this clarifies the situation a bit.

Btw., our full user names include whitespaces, dots and dashes, like, for example lastname, firstname title. - department, which result in user:lastname_title._firstname_-_department public homepage URLs. Could this be a problem?

geekitude commented 2 years ago

Happy new year :)

I admit the screenshat wasn't very helpfull 8) But your text was ;)

I had more simple usernames in mind with firstname and lastname only... This being said, my guess is that it is not a problem here, or at least not the major one. The links should still point to a page ID at least starting with correct lastname.

I can't find a correct way to get users' full names when they're not current user so I suppose the code uses previous value that happens to be current user's full name.... I'll give it another try but will probably remove that new option to get back to previous code in one or two days.

Stay tuned...

geekitude commented 2 years ago

Hi. I could not find a workaround to collect editor's full name and removed the corresponding option. 😢

@L--U--P--U--S : I will not be abble to fix your domain issue, sorry for that and thanks for your help on tests.

lu-p-us commented 2 years ago

Too bad. Anyway, thanks for your effort.