chimeric / dokuwiki-plugin-sidebarng

http://dokuwiki.org/plugin:sidebarng
GNU General Public License v2.0
2 stars 2 forks source link

New features, fixes and more. #5

Closed CompuRoot closed 14 years ago

CompuRoot commented 14 years ago

I made some fixes and additional features to the sidebarng (see change.log below). Tarball with all my changes located at: http://www.box.net/shared/fd8gir6onm Tarball include GIT repository, so use: git format-patch ca1f0805e873810b00f10f3dacc735da97151ae5 --stdout > ../2010-05-14.patch to create patch or view difference between current version and mine. I test it in production, but wait for approve from author. Michael, if you find my changes interesting to commit it, let me know, I will try to find time to upgrade plugin's documentation on dokuwiki.org

Bellow content of CHANGE.LOG

cat CHANGE.LOG


Legend:
[-] - Remove feature
[+] - Add feature
[*] - Fix.
[^] - Change.
[@] - ToDo, ideas.

============== 2010-05-14 =================

[*] - Namespace sidebars does not worked if located inside groups namespaces. Fixed.

[*] - Namespace sidebars located inside user's home namespace doesn't follow sidebar's order rule and always appeared under user sidebar. Fixed.

[*] - If there no authenticated user then substitution mask appear as is @USER@ Fixed. New behavior - if there no authenticated user then substitution masks will be cleared. Same applies to all other substitution mask.

[*] - Substitution masks doesn't worked in the main sidebar. Fixed.

[^] - Changed CSS style: Sidebar width now 13% instead of 23%. Added border line around all sidebar instead of left border line of DW page.

[^] - Enhanced description in the configuration menu.

[^] - Default namespace for group sidebars changed from "group" to "groups".

[^] - Default namespace for user sidebars changed from "user" to "users".

[+] - Added new substitution masks: %USER% in addition to @USER@ : Will be replaced with login name of authenticated user, otherwise would be cleared for guests.

%GROUP% in addition to @GROUP@:
    Will be replaced with Primary group(first group ) from the list of
    groups that user belong to if used in the user's or namespace sidebars.
    If this mask used in the group's sidebar then it will be replaced with
    name of that particular group.
    If there no authenticated user then substitution mask would be cleared.

%GROUPS% same as @GROUPS@:
    Will be replaced with comma separated list of groups
    that user belong to.
    If there no authenticated user then substitution mask would be cleared.

%RIP% or @RIP@:
    Regardless if there is authenticated user or not will be replaced with
    remote IP address of connected client.

%RHOST% or @RHOST@:
    Regardless if there is authenticated user or not will be replaced with
    resolved host name(if available) of connected client.
    (This mask can be disabled from configuration menu.)

[+] - Added new plugin's configuration options in the administrator's panel: (a) - Toolbox functions can be selectable(enabled/disabled) now. (b) - Order of toolbox functions can be set as comma separated list. (c) - %RHOST% substitution feature can be enabled or disabled in the configuration panel.

[@] - Switch to Lexer for substitution instead of parsing output content

[@] - Add substitution mask @NOSB@ for special sidebar that will disable all sidebars. Useful for pages where need all display's space.

[@] - Resolve issue when substitution mask used inside internal links, such as [[users:@USER@:somepage]] Right now work around for that case is to use link as external: [[http://your-domain.tld/wiki/doku.php?id=users:@USER@:start|Personal]]

[@] - Allow sidebar on left and rigth side in the same time * Add special mask @SBLEFT@ and @SBRIGHT@ that would told direct location of sidebar * Add top and bottom position for sidebars then it would be possible to have horizontal menu such as:

| [[namespace:page|Some link]] | [[namespace:page|Some link]] |

chimeric commented 14 years ago

Hi,

thanks for all the patches I'll have a closer look at them soon. Some things I don't like:

I will not apply the patch which changes the user/group namespace. Because a) it will break existing wikis that use the old layout b) all my templates and extensions (plugins etc.) and most of the other plugins I know of which make use of those use group/user instead of groups/users c) also URL looking like http://domain.org/user/username http://domain.org/group/groupname looks more correct in my opinion

I also wont apply the CSS width change. I suppose it's because you changed it to support two sidebars at the same time. This I won't apply as well (in fact, to support only left or right at a time was a design desicion ;-)).

The substititution part sounds good.

CompuRoot commented 14 years ago

Hi,

I will not apply the patch which changes the user/group namespace. Because a) it will break existing wikis that use the old layout

IMHO it shouldn't be because these changes are in the lib/plugins/sidebarng/conf/default.php only. If somebody uses their own names for group or user it saved in the global conf/local.php, so these changes applied to fresh installations only as default values in the admin panel and wouldn't break existing installation.

b) all my templates and extensions (plugins etc.) and most of the other plugins I know of which make use of those use group/user instead of groups/users

Well, actually it isn't mine idea :-), but my users followed this logic: these directories contain MANY similar objects, so root folder should stay clearly about it purpose - directory content that may contain many nameS of groupS or userS in the same way as it appears in the Windows - root folder has name "users" and inside, - particular name(s) of user(s).

c) also URL looking like http://domain.org/user/username http://domain.org/group/groupname looks more correct in my opinion

For URLs(or to be precise on that, for us, - programmers) - yes,I agree it looks better, but regular users doesn't look on it(URL). Since URL appears only in the status bar of browser on event "mouse over link". Users browse wiki mostly with help of INDEX and there it makes sense: USERS --Tom |-Jim |-Anna

Same applies to groups: GROUPS --Managers |-Accounting |-IT

I also wont apply the CSS width change. I suppose it's because you changed it to support two sidebars at the same time.

No :-) For now it's just an idea and users' request. We have a bunch of documents that contain images and sacrificing one fourth of display width for sidebar is unacceptable. I checked sidebar width with different screen resolution and even with 1024x768 resolution 13% is enough to display pretty long words-links. We use sidebars mostly as a links' menu for easy navigation and it doesn't display in sidebars a lot of information since main content should be located on pages. Actually it isn't a big deal, everyone has a different task for dokuwiki and it's pretty easy CCS adjustment as someone would like it. The only thing that IMHO is important in CSS is move border line from DW page to sidebar, otherwise when main page has few lines it looks ugly. Sidebar is much longer than page's content and border line doesn't looks like a separator.

This I won't apply as well (in fact, to support only left or right at a time was a design desicion ;-)).

Personally I'd like your choice and I hate a design when there is a lot of information concentrated in separate columns and the main content of the page is hidden. Actually the main idea was to implement dynamic sidebar location with help of tags, then depending on content it may be possible to use left(rigth) sidebar or top(bottom) sidebar. If primary use of dokuwiki is a text then there is enough left(right) position, but when DW use a lot of images(datasheets in our case) then it is very uncomfortable to view it even on 1920x1024 dislays since sidebar take up a lot of space. Top(bottom) sidebars for those cases can be ideal solution. So basically that idea is to dynamically swith sidebar position depending on content of particular namespace to achive best representation of main content and keep navigation sidebars in the same time.

The substititution part sounds good.

I will try to find time for that, but right now we got a huge project and as always-The job should have been done "yesterday".

chimeric commented 14 years ago

Closed due to missing feedack.