Today we put into play a new potential addition to take some of the hell of having administrators add and remove people from groups. As Everything2 grows larger and the proliferation of the message system spawns more community usergroups, it grows increasingly obvious that we need less administrative intervention in their management. Previously in ecore, usergroups were meant mainly for permissions management, and the message system was an afterthought. Needing an administrator to add you to certain permission driven groups (Content Editors, edev, gods, etc) made sense, and still does.

Now with the many social usergroups showing up in the system, it is more necessary that the E2 community manage their own groups. While admins will want to participate in BAP, nynvb, outies, e2comix, nocal, etc, it may be more convenient for the community organizers to add and drop from usergroups.

Meet the permissions problem. I'd be happy to reown usergroups to people, so that they can actually own them and use the standard editing to add/drop from them, but the main problem is that the doctext in a usergroup executes like a superdoc, so owning a usergroup would be infinite power on the system. We need a few documents that give you accessors around this problem:

In steps:

- simple usergroup editor, an easy way to add and drop from groups in one step. This is actually currently a better interface than what the admins have, so we'll be adding that into the standard administrator toolkit shortly. If you have any groups that you administer, then it will give you the chance to add/drop from them. gods,content editors, and edev are not ownable. To set the usergroup ownership, administrators will need to edit:

- usergroup owners for now until we can figure out a better membership plan. Only one owner per group. The first value is the node_id of the usergroup, the second is the node_id of the owner. Let's say in this limited example that I own BAP.

(BAP), number 1103744 would have a value of (JayBonci) 459692. This is an example in the site right now and will be changed to whoever wants that group on it's final approval.

This is an RFC from the administration and may not be approved. It is merely a proof of concept. Thanks.

Locked out guest user from the weblog part of the Epicenter. That still needs to be cleaned up badly, and I'm not exactly sure the best way to do it.

Applied a patch by fuzzie/in10se for a bug in User Search XML Ticker II. Whoops =) My thanks to them.

Fixed time problems on server. We shouldn't need to do icky hack stuff in timesince anymore, but you never know. It seems to be good on spectre and hillgiant. Also dreamed up a new full text search algorithm, a really really sweet one, but it doesn't really apply to e2 sadly. HOWEVER! The caching scheme part of it does, so I'll either write that up for technical comments, or just do it. Honor roll should be in play soon as well. I'm making headway on the right way to do it, but I'm hung up on the best method for detecting how you go up a level.

Fixed speed problems associated with the newsify functions. Basically they were grotesque. Everyone has lost their weblogging abilities (Newsify, Clientify, Sciencify, etc) until they visit their homenode, where it will be seemlessly regenerated. Previously, we were cycling through every weblog group every page load for every user. Now, we simply create the links if we need to, saving valuable time and cycles. This changes a few functions:

Created the debuggers usergroup. Basically it allows normal users to get html output on errors as if they were in gods. This is to help the few qualified edevers spot errors when they won't repro for me.

Added the code in from the groupCache work from the latest ecore-pre1.0 CVS tree. This caches group membership in such a way that is always worst case on the first look up, and then O(1) on secondary lookups. This is all cached to $DB->{cache}->{groupCache}, and is heavily modified from the CVS tree, but it's the same basic idea. It also makes isApproved and isGod the same efficiency as exists($HTMLVARS{group_gods}{$$USER{user_id}}); groupCache stuff test correctly, and feels faster at peak cache performance. Worst case, it's no worse than what we currently have. I've got Dr. Dannye, the lag detector, working to see if he thinks it's any faster.

I think I fixed the EDR as well (because I'm on fire today). I added a one-line change to the emailReport.pl script that allows it to send more emails. I think we're overloading exim on scalebone, so I added a sleep(5); to the script. It takes longer to send, but all of them seemed to have gone out, which is good. I'm going to sick edev on it for a few days to keep an eye out for all of them.

[   2001    ]
[  August ]   [ September ]   [ October ]
[   2003    ]

(When EDC made me their slave)

More information about some of these items, may be found on E2's SourceForge page: http://sourceforge.net/projects/everything2/ .

I wasn't planning on doing a root log this month (busy busy busy), but then there I go and code a few "features".

neves and thgie (working around midnight, local time, so beats me what I did on which date)

  • modified coolit (htmlcode) and cool (opcode) to use sendPrivateMessage (htmlcode), which prevents messsage truncation for long node titles
  • tweaked Epicenter (nodelet) to not call coolit (htmlcode) unless the user in an editor (the htmlcode itself checks for this, and just returns, but this prevents the calling of yet another unused htmlcode)
  • start of personal time zone settings:
    • created htmlcode DateTimeLocal, which shows time in the same format as is shown in the Epicenter ("server time"), but respects time offset
    • updated Epicenter to call DateTimeLocal for server time, and again if the time offset is different (that is, the Epicenter will always show the server time, and, if enabled, also show your time)
    • created Local Settings (superdoc), which is where one can choose their time zone offset
  • created settingsDocs (htmlcode), and called it at the top of superdocs User Settings, User Settings 2, Writeup Settings, Everything Email Options, and Local Settings - since we're getting so many "settings" nodes, this lists them all, in a small (screen spacewise) format


  • added an enable-local-settings pref. to Local Settings, so one can disable the time offset, without losing their setting
  • updated DateTimeLocal (htmlcode) and Epicenter (nodelet) to reflect this change
  • modified parsetimestamp (htmlcode) to respect local time setting
  • added hack value to parsetimestamp (htmlcode), and updated hack value in timesince (htmlcode), to deal with the time difference between the web and database servers

TODO (roughly in order I'll do them in)

  1. get Java Chatterbox working again; almost there, just have to rewrite the parser
  2. [un]lock user-defined special code (example: in Notelet), for the very very very very rare cases an admin takes over a user account (to help them with something)
  3. Message Settings
  4. htmlcode to allow selection of (a) user(group)(s) - I don't think this is currently needed, but I think it will be useful eventually
  5. go through the edev patches
  6. Message Inbox should also honor msg-sender flags pref
  7. displayUserInfo (htmlcode) - if user is a /msg-alias, have checkbox to send to the actual user, instead of the user the alias is for

[   2001    ]
[  August ]   [ September ]   [ October ]
[   2003    ]

Log in or register to write something here or to contact authors.