ENIGMA Forums

General fluff => Announcements => Topic started by: Josh @ Dreamland on November 24, 2010, 12:10:21 PM

Title: Scalability
Post by: Josh @ Dreamland on November 24, 2010, 12:10:21 PM
This r/coderaid business has made me realize that ENIGMA's site is not ready for the same kind of jumps that ENIGMA itself is ready to make. While the engine is scalable in the sense that most of the systems are completely modular now, the site is based off of SMF, which has a very sad excuse for a user name system.

We now have a bug tracker -and- a Wiki to contend with as far as users are concerned. Since a2h wrote the tracker himself, we haven't had issue with it. But the new Wiki requires an entirely new user base, and it just isn't compatible with SMF. The crossover that was written for it does not comply with SMF 2.0; from what I can tell, the database system between 1.2 and 2.0 is -very- different. They are similar enough that I think a port is possible, but then we have a new issue: user name content. "Josh @ Dreamland" isn't exactly a Unix name. However, Wikis don't agree with underscores or dashes, either. That's difficult to work around with our current layout.

We have two options.
1) Change everyone's login name, leaving the display name.
 This means I will have to log in as JoshDreamland from now on, but you will still see me as Josh @ Dreamland on the forums. Score_Under will have to log in as ScoreUnder. I don't have figures on the matter, but from what I can tell, the number of people affected will be approximately a lot.

2) Add another field to the SMF SQL table for Unix names. This puts less strain on the users, but more on the web developers trying to port bridge modules such as SMF-Wiki. What I mean is, a2h or myself will have to custom-tailor bridge code such as the code that enables MediaWiki to use SMF user names. Also, we have to modify SMF's account creation process, and run a script on our current SQL tables to generate Unix names for the 350 existing members and check for conflicts (this is the easy part). I don't personally have the web experience to make the former change to SMF, and I'm not going to volunteer a2h to do this.

This is here as an FYI for what might happen. If a2h doesn't appraise as simple modifying the user creation query to generate a unix name and store it with the rest of the information, we may go with option one and change at least a tenth of everyone's logins. We can probably post a notice about that to help members remember (most of them will just enter it once and tell FireFox to change it).

So, yes. Just a heads up. If you have a better idea, let us know, of course.

And if you're outraged about all this work over a Wiki, this is =not= the last time we'll be seeing this issue. Look at 64Digits. I am confident in saying that if we have an influx of users, we can start a 64Digits-like hosting system. When we do that, a behind-the-scenes Unix naming convention will be very handy, otherwise some download URLs may be invalid or difficult to escape (think of all the %20s!).

-Josh
Title: Re: Scalability
Post by: IsmAvatar on November 24, 2010, 02:27:16 PM
I needn't mention that I'm very good at php and SQL. Aside from time constraints (sex, etc), I'd be willing to help out in any way that I can. I think we can work out a way that users will have 2-3 names: A login name, a display name, and a unix name essentially invisible to them.
Title: Re: Scalability
Post by: Josh @ Dreamland on November 24, 2010, 02:50:47 PM
They may need to be able to edit their unix names. People like serp tend to deal with the unavailability of a name ("s" in serp's case) by prefixing underscores. Those are technically unix compliant, but Wikis evidently don't like them. That said, the user needs some sort of say in their unix name.

For now, if for any reason the letters-digits forms of any two names in our database collide, we will simply add a "2". The user needs the ability to do that as well (But the opportunity to be original; their name will be visible in their URL).
Title: Re: Scalability
Post by: The 11th plague of Egypt on November 24, 2010, 04:10:49 PM
...or 3) you could just keep a separate login for the wiki.

Messing up the login on both the forum and the tracker to fix the (much less used) login on the wiki seems a bad tradeoff to me.
Title: Re: Scalability
Post by: Josh @ Dreamland on November 24, 2010, 09:13:27 PM
The forum and tracker share a login. That's the idea. The only change in your name for option one would be the spaces. If we pull off option two, you would not notice a change, and any commits you make in the Wiki and any files you upload (should we add such a system) would be stored under The11thplagueofEgypt. But, in the event we have to go with the first one, I guess we could hold an opinion poll before we make the change. But eventually, I believe this change will need implemented, and so it may be frugal to do so ahead of time. As in, now; the first time it's needed.
Title: Re: Scalability
Post by: IsmAvatar on November 24, 2010, 10:06:53 PM
What about a hash for the unix name to avoid collisions?
Title: Re: Scalability
Post by: notachair on November 25, 2010, 01:52:13 AM
How about having the SMF user id prefixed in front of the username made safe for the Wiki?
Title: Re: Scalability
Post by: Fede-lasse on November 25, 2010, 09:19:26 AM
Since a2h wrote the tracker himself, we haven't had issue with it.
There are numerous issues with that tracker. Let me address some of them:
Bugs
Important missing features
Title: Re: Scalability
Post by: Josh @ Dreamland on November 25, 2010, 09:30:57 AM
a2h:
That'd work, but it'd make URLs comparatively difficult to remember if it can be avoided.

fede:
The tracker isn't complete. There's a difference between a bug and a missing feature.
Title: Re: Scalability
Post by: luiscubal on November 25, 2010, 01:26:24 PM
Can I have the UNIX name "root"? :D
Title: Re: Scalability
Post by: Josh @ Dreamland on November 25, 2010, 02:55:43 PM
First come, first served.
...But no.
Title: Re: Scalability
Post by: Fede-lasse on November 26, 2010, 03:39:26 AM
fede:
The tracker isn't complete. There's a difference between a bug and a missing feature.
Hence why I separated bugs from important missing features.
Title: Re: Scalability
Post by: RetroX on November 28, 2010, 09:14:23 PM
Why not add a separate column to the users table that stores the safe name, and when adding users, check for safe name, not regular name.  Problem solved, and you can still keep your regular names for the wiki.

For the record, Josh @ Dreamland (http://enigma-dev.org/docs/wiki/index.php?title=User:Josh_@_Dreamland) is a valid MediaWiki username.  The only invalid ones would be ones that contain special symbols like [ and ].
Title: Re: Scalability
Post by: Josh @ Dreamland on November 28, 2010, 11:27:06 PM
Well, no, it isn't. It's a valid page name, but not a valid user name.

Quote
Login error
You have not specified a valid user name.

Yes, it says "login," but that's from the "Create Account" dialog.

Anyway, even if it were a valid username, I'd still need a unix page if I intended to use any username-based upload services ever to be offered on this forum (which, as I hinted, will only happen when ENIGMA's on dedicated hosting, which itself will only happen when ENIGMA has the traffic required to generate ad revenue to pay for such or a good chunk of such).

Oh, and fede, let me reclarify: the difference between a bug and a missing figure is not well-conveyed by your post. The edit buttons are just there for show; they were never actually implemented at all.
Title: Re: Scalability
Post by: Fede-lasse on November 29, 2010, 10:02:44 AM
Oh, and fede, let me reclarify: the difference between a bug and a missing figure is not well-conveyed by your post. The edit buttons are just there for show; they were never actually implemented at all.
Yes, I know, and I thought that they were supposed to work, but oh well.
Title: Re: Scalability
Post by: TheExDeus on December 02, 2010, 09:53:34 AM
Will wiki also feature all default functions and its parameters? Or there will be a help file for that?
Title: Re: Scalability
Post by: Josh @ Dreamland on December 02, 2010, 10:33:17 AM
I started adding some of the file functions to one of those pages, so I don't see why not.
Title: Re: Scalability
Post by: TheExDeus on December 16, 2010, 05:17:49 PM
I think Wiki's editing should be allowed only when signed in. There is vandalizing starting to happen.
Title: Re: Scalability
Post by: Fede-lasse on December 17, 2010, 06:18:14 PM
Naturally. Sigh.

I actually already registered there.