Wedge

Public area => The Pub => Features => Topic started by: Arantor on October 10th, 2011, 05:11 PM

Title: Birthday, calendar, plugin, core [VOTE NOW!]
Post by: Arantor on October 10th, 2011, 05:11 PM
As per http://wedge.org/pub/feats/6931/the-calendar/ I've been trying to get a feel for how to handle birthdays and the calendar. So instead of faffing about with discussion, simple poll instead. I've deliberately kept it to a fresh thread to allow it to be considered objectively.

Remember: any plugins that are based on core code originally will almost certainly be considered as 'official' plugins and thus maintained over time.
Title: Re: Birthday, calendar, plugin, core
Post by: TE on October 10th, 2011, 05:51 PM
voted Option 4, but I'm also fine with "Calendar PLUGIN with the birthdays built in to it"
Title: Re: Birthday, calendar, plugin, core
Post by: Arantor on October 11th, 2011, 12:11 AM
Bump in the hopes of a few more votes.
Title: Re: Birthday, calendar, plugin, core [VOTE NOW!]
Post by: Nao on October 11th, 2011, 01:09 AM
Zero votes for core? Calendar isn't loved much :P
Title: Re: Birthday, calendar, plugin, core [VOTE NOW!]
Post by: CJ Jackson on October 11th, 2011, 01:13 AM
Quote from Nao on October 11th, 2011, 01:09 AM
Zero votes for core? Calendar isn't loved much :P
Especially with inconsistency between Chinese and the rest of the World. ;)
Title: Re: Birthday, calendar, plugin, core [VOTE NOW!]
Post by: Arantor on October 11th, 2011, 09:16 AM
OK, let me put down how I see it. It might make a difference, it might not.[1]

Whether we like it or not, Wedge isn't a forum. It's a framework first and foremost, that just happens to be tuned to running a forum. User authentication, the template system, plugin system, these are all symptoms of a framework. As are a good deal of the components actually in Wedge.

Now, from my perspective, if it is the case that we have this setup, then to me the core framework should be best optimised for the one thing that is common to all forums (and varies between important and unimportant for non-forum uses): making the process of being able to share content and discussion easier.

Having AeMe in the core does this, IMO, both the auto embed and gallery parts (assuming using them for attachments), but the calendar and birthdays facilities do not inherently make it easier to share content and discussion.

To me, they're facilitators for social engagement, not content and discussion, so while they are important for some forums, for others they're absolutely unimportant.

Now, you could argue that other things we're doing fall into the same category, in particular the ability to like content, but that to me sits on the border between being content encouraging and social participation. It allows people to indicate they like some content, encourages more of it as a consequence and it allows people to feel they have an outlet for expressing an opinion without necessarily having to post - on those grounds I'd be inclined to make it core rather than through a plugin.


The bottom line is that this is a complex road we travel, we're not going to be able to please everyone all of the time, but I suspect the facility of having things as plugins that can co-exist nicely will really help matters.
 1. I'm not trying to change your mind, am I? :lol: Seriously, though, I do want to get across how I see it, to explain why I'm even suggesting/asking.
Title: Re: Birthday, calendar, plugin, core [VOTE NOW!]
Post by: Nao on October 11th, 2011, 09:47 AM
Event topics are a social thing though.
Title: Re: Birthday, calendar, plugin, core [VOTE NOW!]
Post by: Arantor on October 11th, 2011, 09:48 AM
Sure they are, which is why they're part of the calendar, no?
Title: Re: Birthday, calendar, plugin, core [VOTE NOW!]
Post by: Nao on October 11th, 2011, 09:51 AM
Btw I'm not a calendar user myself. I could care less about it. But I think it has potential for being useful like having a link in all dates that would point to that days posts.

I'm just saying I thought more people liked the calendar. Per se it's not important to have it in the core but if we change our minds later we can always rebuild it into the core in 2.0 or so.
Title: Re: Birthday, calendar, plugin, core [VOTE NOW!]
Post by: Arantor on October 11th, 2011, 09:58 AM
Quote
Btw I'm not a calendar user myself. I could care less about it. But I think it has potential for being useful like having a link in all dates that would point to that days posts.
That can be part of the calendar plugin.
Quote
I'm just saying I thought more people liked the calendar.
I don't think people *dislike* it per se. I think partly the problem is some people use the calendar solely for birthdays (which to me seems odd because birthdays are a social feature, while a calendar is more organisational) and others use the calendar as a calendar, but find it a bit limited.

I think if it were more functional, it would be more likely to be used. At the same time I can see that it's not exactly something that's needed that heavily.
Title: Re: Birthday, calendar, plugin, core [VOTE NOW!]
Post by: Roz on October 11th, 2011, 12:06 PM
I use the Calendar quite a lot in my SMF, because we run local and national events and want to keep track of them. The fact that the calendar can link to topics and vice versa is also very handy and keeps things clear and well organized. We also keep track of worldwide events and since the Upcoming Events shows on the front page, everyone is informed of them.

Don't know if you would include this in the "share content" category, but it certainly makes things easier and clearer for everybody. I guess it's one of those things you don't quite appreciate until you lose it.
Title: Re: Birthday, calendar, plugin, core [VOTE NOW!]
Post by: Arantor on October 11th, 2011, 12:08 PM
It's organisational. Having it makes it easier to organise, it doesn't directly facilitate sharing content in and of itself.

It won't be disappearing - just it won't in the very core of the software.


Question, to those who think things should remain core: why? I can give you quite a few reasons why things should be removed from the core and turned into officially support plugins. I can't find the same enthusiasm for keeping them core, especially as the odds are they will be just supported, as opposed to extended and improved.
Title: Re: Birthday, calendar, plugin, core [VOTE NOW!]
Post by: billy2 on October 11th, 2011, 12:20 PM
I voted to keep birthdays core because I like the birthday message being sent - just in case it was voted to be removed totally. It can be a plugin as far as I am concerned. Talk about a u-turn  :D
IIRC there was talk of having birth date as part of the sign-up compulsory fields, dont quite know where that one ended up.
Title: Re: Birthday, calendar, plugin, core [VOTE NOW!]
Post by: Arantor on October 11th, 2011, 12:25 PM
Quote
I voted to keep birthdays core because I like the birthday message being sent - just in case it was voted to be removed totally. It can be a plugin as far as I am concerned. Talk about a u-turn
Nope, it was never going to be totally removed and never to be seen again. In fact, there's a problem before you start: birthday emails are sent independently of whether the calendar is enabled. Talk about logic disjoint.
Quote
IIRC there was talk of having birth date as part of the sign-up compulsory fields, dont quite know where that one ended up.
Birth date needs to remain in the core, oddly enough, because it's used for things like COPPA verification.
Title: Re: Birthday, calendar, plugin, core [VOTE NOW!]
Post by: billy2 on October 11th, 2011, 01:00 PM
/methinks to himself - If Birth Dates have to remain in Core, why is Arantor asking why I think Birthdays should be in the core. Are they not one of the same?
I've got a headache
Title: Re: Birthday, calendar, plugin, core [VOTE NOW!]
Post by: Johnny54 on October 11th, 2011, 01:00 PM
Quote from Arantor on October 11th, 2011, 09:58 AM
I don't think people *dislike* it per se. I think partly the problem is some people use the calendar solely for birthdays (which to me seems odd because birthdays are a social feature, while a calendar is more organisational) and others use the calendar as a calendar, but find it a bit limited.
+1

If I see calender full of birthdays (especially on big forums) I don't even bother checking if there is some usefull event mentioned somewhere.
Title: Re: Birthday, calendar, plugin, core [VOTE NOW!]
Post by: Arantor on October 11th, 2011, 01:01 PM
Quote from billy2 on October 11th, 2011, 01:00 PM
/methinks to himself - If Birth Dates have to remain in Core, why is Arantor asking why I think Birthdays should be in the core. Are they not one of the same?

I've got a headache
No, they're totally different things.

Storing the birth date is required for COPPA compliance and must remain core for that reason.

Sending out nice emails, or displaying a list of everyone's birthdays is not required for compliance and is the part I want to move out of the core.
Title: Re: Birthday, calendar, plugin, core [VOTE NOW!]
Post by: billy2 on October 11th, 2011, 01:04 PM
Ah, IC.
Both plugins then, fella
 :cool:
Title: Re: Birthday, calendar, plugin, core [VOTE NOW!]
Post by: Dismal Shadow on October 11th, 2011, 04:10 PM
Calendar plugin, birthday plugin. :)
Title: Re: Birthday, calendar, plugin, core [VOTE NOW!]
Post by: Arantor on October 12th, 2011, 02:12 AM
I think everyone who was going to vote has done so by now, and it's pretty clear the direction that things are going in, so with that I'm going to begin work pretty shortly on migrating the birthday functionality to a plugin, and the calendar to a separate but integrative plugin.

You can't please everyone all of the time, but this way allows users to make what they want out of it a little more easily :)

(I've locked the poll but looking at the comments, it's actually 70% in favour of a dual plugin approach.)
Title: Re: Birthday, calendar, plugin, core [VOTE NOW!]
Post by: MultiformeIngegno on October 12th, 2011, 08:24 AM
Ops, I'm late! Anyway I'd have voted for 2 separate plugins too. :)
Title: Re: Birthday, calendar, plugin, core [VOTE NOW!]
Post by: Drunken Clam on October 12th, 2011, 07:50 PM
Damn, missed the vote!

Anyway, I would of voted for separate plugins. I personally like using the calendar, for important things, but absolutely abhor the 'birthdays' all over the place, I'm at the age when I prefer to forget birthdays and could care less about anybody elses!

Just my twopenneth.
Title: Re: Birthday, calendar, plugin, core [VOTE NOW!]
Post by: tfs on October 12th, 2011, 09:19 PM
Quote from Arantor on October 11th, 2011, 09:58 AM
I think if it were more functional, it would be more likely to be used. At the same time I can see that it's not exactly something that's needed that heavily.
Exactly my thoughts.  If the calendar were on the developers radar, being improved and having functionality added, I'd be more interested in it.  Or if I ran a forum that, like some, relied on scheduling, I'd be more up on it.  And to tell the truth, I'd be happy to see development be directed towards the calendar.  Things like being able to go to a particular day in the calendar and see various forum activity that occurred on that day.  Those types of things would make it useful to people individually, instead of being a global date book.

But, the way the calendar is now, it's not really functional enough.
Title: Re: Birthday, calendar, plugin, core [VOTE NOW!]
Post by: Arantor on October 12th, 2011, 09:35 PM
And it stands better chance of getting development as a plugin than a core feature, daft as it sounds...
Title: Re: Birthday, calendar, plugin, core [VOTE NOW!]
Post by: Nao on October 12th, 2011, 09:43 PM
Heck. We could release the plugin as bsd so that anyone can build on it...
Title: Re: Birthday, calendar, plugin, core [VOTE NOW!]
Post by: Arantor on October 12th, 2011, 09:57 PM
It did occur to me, especially as there's a higher percentage of BSD code compared to the rest of Wedge, there's less we've done to it.
Title: Re: Birthday, calendar, plugin, core [VOTE NOW!]
Post by: Nao on October 12th, 2011, 10:41 PM
Yup... Because we didn't really improve it in any way so far, and I don't give a damn about protecting my template changes (month list in the sidebar etc), it's an excellent candidate for being BSD'd.

Heck, that would even be a good reason to release other scarcely customized areas as BSD plugins...
Title: Re: Birthday, calendar, plugin, core [VOTE NOW!]
Post by: Arantor on October 12th, 2011, 10:46 PM
Such as?
Title: Re: Birthday, calendar, plugin, core [VOTE NOW!]
Post by: Nao on October 12th, 2011, 11:42 PM
Well I'm sure we'll find some..... :P
Title: Re: Birthday, calendar, plugin, core [VOTE NOW!]
Post by: Arantor on October 13th, 2011, 12:08 AM
Heh, I was more curious as to what you might have had in mind, knowing that more 'core' things such as PMs and the memberlist were suggested as possible candidates.
Title: Re: Birthday, calendar, plugin, core [VOTE NOW!]
Post by: Nao on October 13th, 2011, 12:16 AM
I'm not doing plugins for now and I certainly wouldn't suggest you spend more time on them. You have a life, too!
Title: Re: Birthday, calendar, plugin, core [VOTE NOW!]
Post by: Arantor on October 13th, 2011, 12:41 AM
That's the thing, I actually need to do some right now, mostly because it's how I'm finding bugs in the plugin manager, as well as making sure there are hooks in meaningful places.
Posted: October 13th, 2011, 12:19 AM

Just that right now, after today's fandango, I'm a bit tired before carrying on with the split of the birthday plugin, especially because of the way the email templates are physically handled, and what looks like I'll have to re-engineer the sending process to get around it, which probably means reformatting all the email templates to be conventional language strings.

Speaking of which, the entire way email templates are done is a bit ridiculous, and they can't even be edited in the language editor :/
Title: Re: Birthday, calendar, plugin, core [VOTE NOW!]
Post by: Arantor on October 13th, 2011, 02:13 AM
OK, so I tackled that, and have refined the structure into something usable (and cut the code down in various places)

Right now, it's just a case of taking a machete to the core code to strip it of birthdays stuff, so I can put it in to the plugin. (In other news, there's various ways that things need to be extensible in the calendar that currently aren't. There's no reason, for example, why any arbitrary events shouldn't be able to be added to the calendar. I could envisage it in WD for example for ticket deadlines to be embedded into the calendar.)

But if I don't do things as plugins, I can see them sitting there as red-headed stepchildren, and no-one wants that.
Posted: October 13th, 2011, 02:01 AM

Also, please note that the little thing of leaving a cake image in the user's profile if it's their birthday, that probably should stay core for the time being.

I really don't want to add a hook that can cope with that, that would be inappropriate IMO. (Or we can remove it entirely, not fussed, and have something add to the user's profile underneath or similar. Don't really mind.)

Mind you... when I spent a little while looking last night for a suitable cake image, I found the image used in SMF, and I don't think it's actually compliant with the licence for it... it actually says 'free for desktop use', nothing about distributing it. Though I would hope they asked about it.
Posted: October 13th, 2011, 02:05 AM

Hmm. Do I commit this or do I leave it just removed while I work on things? (Using the power of diff to see the code itself, at least what I haven't just copied over to the new plugin. It does have to do other things that the original code doesn't)

That's a sure sign I haven't had enough tea, if I have to ask such philosophical questions.
Posted: October 13th, 2011, 02:07 AM

Meh, committed. If I broke anything (which I don't think I did) it's a revert away. Meantime, I'll crack on with the plugin.
Title: Re: Birthday, calendar, plugin, core [VOTE NOW!]
Post by: Nao on October 13th, 2011, 07:27 AM
Agreed on everything.
Title: Re: Birthday, calendar, plugin, core [VOTE NOW!]
Post by: Nao on October 13th, 2011, 08:57 PM
A note on the latest commits: it seems like a few 'bday' strings are left in the codebase. They're usually linked to the 'birth date', but since 'cal_showbdays' was removed from the options, it should logically be removed from install.sql and upgrade.sql, I suppose.
I'm not doing it myself because it all has to end up in the various plugins... ;)
Title: Re: Birthday, calendar, plugin, core [VOTE NOW!]
Post by: Arantor on October 14th, 2011, 11:09 AM
Yeah, it's all going to go into the calendar plugin. Essentially a case of throwing divine lightning at them and letting $deity sort it all out :D

Going back a few posts, the question came up about plugins and turning originally core features into plugins.

Now, PMs and the memberlist were candidates (and of course the calendar will be), but I'm wondering about the print-page option and OpenID.

I know we talked about OpenID before, but I'm just wondering how important it really is; it's not like a lot of sites use OpenID - how many sites do you know that allow you to sign in with it?[1]

In short, is it worth the effort required to make it a plugin?
 1. It should be no surprise to note that it's primarily technical sites. SourceForge, StackOverflow and all its related sites and LiveJournal are the only consumers I actually know of outside of SMF. MyOpenID and LJ are the only providers I know of. Then you have PHPClasses and family that adopted the OpenID protocol but only from their own server, defeating the point.
Title: Re: Birthday, calendar, plugin, core [VOTE NOW!]
Post by: Nao on October 14th, 2011, 02:06 PM
My opinion. Pm should be core. Memberlist I'm not sure. Print can be plugin although it's not important. Openid should be a plugin at the same level as Dragooon's Fb plugin, or simply gone if it's too complicated.
Title: Re: Birthday, calendar, plugin, core [VOTE NOW!]
Post by: Arantor on October 14th, 2011, 02:08 PM
Well, it's not that it's too complicated. I can't see how it's any more or less complicated that FB Connect, frankly - however it's sliced, it's still the same basic process: throw some data at an external source and use that to authenticate, creating a user account if necessary.

I'm inclined to agree about PMs, but memberlist I really don't have a problem with it being pushed to a plugin. If it isn't pushed to a plugin, it needs an overhaul in terms of what's displayed and possibly the general look of it.
Title: Re: Birthday, calendar, plugin, core [VOTE NOW!]
Post by: Arantor on October 14th, 2011, 06:05 PM
In other news, I'm really not looking forward to splitting the calendar up. Not only will that require splitting the insane post template up, it'll require rewriting a decent amount of post handling to support hooking... >_<

I'm almost tempted to go write a small mod - say, an arcade mod - before doing that :o
Title: Re: Birthday, calendar, plugin, core [VOTE NOW!]
Post by: Nao on October 14th, 2011, 07:30 PM
Take your time!
Title: Re: Birthday, calendar, plugin, core [VOTE NOW!]
Post by: Arantor on October 14th, 2011, 07:37 PM
Making the post form hook able will be awesome though, it allows me to write a great many neat plugins. It's just a big job I didn't want to tackle just yet, and I probably should do some of the plugin server stuff first (feedback wanted in the appropriate thread)
Title: Re: Birthday, calendar, plugin, core [VOTE NOW!]
Post by: Nao on October 14th, 2011, 08:34 PM
Re OpenID, my main issue with the OpenID code is that it only creates a 'subpar' account and requires more work on the user's side to get full privileges... It sucks. Any non-SMF/Wedge login system SHOULD give users the same privileges. They can be asked for a user name at registration time, whatever, all they need is a user name, their password is checked by Facebook is all... (Heck, if a password really needs to be generated, it can be done automatically by Wedge and sent to the Facebook e-mail or shown on screen or something....)

Re post form hooks, I suppose that'll be in the quick reply form as well...?
(I should get started on rewiring the quick reply form to below individual posts. Just need to figure out the best way of showing the link...)
Title: Re: Birthday, calendar, plugin, core [VOTE NOW!]
Post by: Arantor on October 14th, 2011, 08:41 PM
Yup, the whole implementation is a shade sub-par. I'm tempted to just ditch it and rewrite it later if anyone wants it.

As far as the hooks go, I'd rather have separate post and QR hooks, with a hook actually in the QR block for extension (as opposed to adding a new block after)

I don't know how the code will cope if you create multiple editor components that all have the same form name and are implicitly inside another form (the quick moderation one)...
Title: Re: Birthday, calendar, plugin, core [VOTE NOW!]
Post by: TE on October 14th, 2011, 09:23 PM
OpenID with its current implementation is IMHO completely useless, simply because it's a OpenID 1.1. Most OpenID-Providers such as Google / Yahoo don't accept 1.1 but use 2.0 instead.

Just drop it, no one will miss it  ;)
Title: Re: Birthday, calendar, plugin, core [VOTE NOW!]
Post by: Nao on October 14th, 2011, 09:25 PM
According to my threaded post at sm.org, it isn't a problem. I didn't make multiple qr forms though. Iirc I just moved the form as needed.

Btw what is the advantage of single post pages versus quick reply?
Title: Re: Birthday, calendar, plugin, core [VOTE NOW!]
Post by: Arantor on October 14th, 2011, 09:42 PM
The single post page has all the options - attachments, the sticky/lock/notify me/send announcement - while QR doesn't.

You need single post to create a thread in the first place...


@TE That's kind of what I thought ;)
Title: Re: Birthday, calendar, plugin, core [VOTE NOW!]
Post by: Nao on October 14th, 2011, 10:20 PM
We could have the options in qr. And have the post page used as topic starter or non-JavaScript fallback (eg open link in new tab).

Dunno.
Title: Re: Birthday, calendar, plugin, core [VOTE NOW!]
Post by: Arantor on October 14th, 2011, 11:37 PM
Quote from Nao on October 14th, 2011, 10:20 PM
We could have the options in qr. And have the post page used as topic starter or non-JavaScript fallback (eg open link in new tab).

Dunno.
Been there, done that. It makes life interesting. We did a lot of that in SimpleDesk, even down to putting attachments into the quick reply. I'm not entirely sure I'd want to do that again though.
Title: Re: Birthday, calendar, plugin, core [VOTE NOW!]
Post by: Nao on October 14th, 2011, 11:48 PM
Hmm... Then forget it ;)
Title: Re: Birthday, calendar, plugin, core [VOTE NOW!]
Post by: Arantor on October 14th, 2011, 11:53 PM
Well, my reticence on the matter is primarily because while it's practical, I find it aesthetically cluttering, because you go from this minimalist editor box that is just a box with a few buttons underneath, to this hulk of stuff - essentially the core post form has been squished to fit inside the main thread view. It ain't pretty.

Try it yourself in SimpleDesk, even here. Find a ticket, scroll down to the reply area, then hit Go Advanced.
Title: Re: Birthday, calendar, plugin, core [VOTE NOW!]
Post by: Nao on October 15th, 2011, 12:08 AM
Well, one rarely chooses to use the additional options so they wouldn't take much space when folded... etc.
Title: Re: Birthday, calendar, plugin, core [VOTE NOW!]
Post by: Arantor on October 15th, 2011, 12:09 AM
True enough. Still, hindsight tells me it's not necessarily the best route - give SD a try and see how you feel about it then.