Shell Multimedia

Mostly Drupal for now -- Photography coming soon!

Artesian Forum progress report

Fri, 01/06/2012 - 09:55 -- Michelle

It's been a month since I said Artesian Forum was almost ready to be committed so I thought I'd write a progress report to explain what's going on.

At the moment, updates are being committed to the sandbox project, Mud. I'm using a sandbox so I can do messy catchup dumps and not proper commits with issues and good descriptions and all the stuff responsible maintainers need to do. At this point in the project, I'm not working in discrete chunks but rather am jumping all over the code writing and refactoring and moving things around. It's simply easier for me to do periodic dumps to the sandbox than proper commits.

Why is it taking so long? Well, a big problem is the lack of time I've been struggling with pretty much since I had children. :) As I've mentioned, this project is an unpaid hobby, which means it tends to get shafted when I have to make choices amongst many items clamoring for my attention. But the upside to not being paid is that there is no client with a deadline waiting for me to deliver. That means I can take my time and do things well instead of focusing on fast. If my goal was simply to get an entity forum working, I could have had that done by now. But my goal is to make a complex and flexible but yet easy to understand and customize forum that will be as simple as possible to port to Drupal 8. That is much harder to do and takes a lot longer.

I've spent more time these last couple months following D8 entity discussions and learning about OOP and studying other contrib trying to sort out best practices on the bleeding edge where there are no docs than I have writing code. And much of the code I've written has already been rewritten maybe even more than once as I learn more and find better ways to do it. I do realize that perfect is the enemy of done and don't intend to tweak endlessly but I want this to be as solid a foundation as I can make it.

I have four years of experience writing forums for Drupal and so know where the pain points are, what was difficult if not impossible to do when building on top of core, plus the mistakes I made in Advanced Forum itself. I know so much more about Drupal now than I did when I started AF as well. With this background and the freedom of a complete rewrite with no legacy code, I believe I can make a much better forum that will finally meet my vision of a Drupal forum. It's going to take me a while, especially at the start when my constant refactoring makes it difficult for other coders to jump in and help, but it will get there and, I hope, will be worth the wait.

Comments

Submitted by John_B on

Thanks for your work on this, and the update. It is an exciting project.

Submitted by juan_g on

Artesian Forum, with its architecture of separate forum, thread, and post entities, is a really essential project, a great improvement over the old core forum. For example, for those wanting to migrate from any of the main today's forums (such as vBulletin, phpBB, etc.) to a Drupal equivalent.

Submitted by Brian_R on

Thank you for the update. It seems to me that Drupal really would have an advantage over something like vbulletin or phpBB if the right forum architecture was built on top of it.

Submitted by Michelle on

vB is a pretty massive paid-for program with a team of programmers. I'm not sure if I'll ever be able to top that and, really, for people who just want a forum, vB will likely always be better. My goal is to have a forum that is completely part of Drupal that will suit the needs of most people who want a forum as part of their website. It needs to have all the features people expect out of a forum (or tight integration with modules that provide them) and needs to perform well, even on large forums. That's what I'm aiming for.

Submitted by Michelle on

There will be a data upgrade path for sure. Depending on how customized your styles are, though, the upgrade may not be pain free. Styles won't be compatible so any work there will need to be redone.

Data is the main thing.

I've just installed AF for the first time and found it straight forward and intuitive, although I did need need to make a number of css changes to support a responsive layout.

May I suggest a pre-configured single column layout as one of the styles. The stacked forum pages work well, but those pages with columns are problematic.

Submitted by Michelle on

Artesian will have stacked styles as well in some form. I'm looking into options to make it easier to change the layout independent of the style as well as having a stacked style was always a bit of a hack. I'm going to be giving the whole style system an overhaul and hopefully find some themers to help make solid core styles to build on.

Submitted by Paul Driver on

himerous and huhby over at Omega theme are very active on the mobile side of things - well worth talking to.

Submitted by Michelle on

I use Omega and it's a nice theme. Don't let the crappy look of this site fool you; that's just because I suck at design. ;)

I'm quite a ways off from building styles but will keep that in mind.

Submitted by juan_g on

Michelle wrote:

"a team of programmers"

Naturally, you should be helped by the Drupal community. This is a too important work with too many details for one person alone. A person can lead the way with a vision, while working with the community.

For this, it's very beneficial to have any dev version, even in early work that is going to be heavily changed, so that people can take a look and suggest solutions.

There is a truly interesting read from webchick about how that works. A classic:

A tale of two developers
http://www.webchick.net/embrace-the-chaos

For example, I think I will have some time to help testing when a half-working dev version is available. For now, it seems you need more specialized help from other developers in the areas you mentioned in Artesian team (architecture, performance, javascript).

Also, about architecture, I would suggest to look at the table structure of the most popular forums (phpBB, vBulletin, etc.). For phpBB tables: phpbb_posts, phpbb_topics, phpbb_forums, etc. I think your entities are in the good way.

Let's hope much more people contribute a little each to your ChipIn, so that you can go to DrupalCon and increase contacts to help launch Artesian Forum soon.

Submitted by Michelle on

Well, I am getting help, but that's not the same as having a team of people working full time on something. Unless someone is willing to hire me to write this, I'm limited in how many hours I can devote to it. Donations are nice, especially to offset the huge expense of Drupalcon, but it's not exactly a living hourly wage. :)

As for a dev version, I'm fairly sure you can't do that on sandboxes. Honestly, though, anyone who can't use git shouldn't be getting the code right now, anyway. It's an insecure mess.

I've read the thing from webchick... Not sure how it applies here, though? I haven't exactly been working in secret and my git dumps usually don't contain more than a few hours of work so it's not that far behind my local copy. The main issue is that a few hours of work for me may be several days in real time due to my lack of time to work on this consistently. Plus, the code is so unstable right now that I'm in the mad constant refactoring stage. It wouldn't be worth anyone's time to make a patch.

For the architecture, I have a copy of MyBB that I've been studying plus looking at Drupal core and ideas of my own. Personally, I can't stand PHPBB so don't use it for reference much. vBulletin is a pay app and so I don't have a copy of that. What I have seems to be working fairly well but there's a few areas that I don't think are performing as well as they should. I'm going to be doing some refactoring today and over the weekend that will hopefully take care of that. Then I need to load it up with a ton of posts and see how it handles.

I don't think I'm lacking in contacts. I've been in the community nearly 7 years so I know pretty much all the "regulars". What I think will be beneficial to Artesian is having a concentrated group of Drupal geniuses hanging out in the coder lounge with brains ready to pick. LOL! Plus, I want to do some sort of BOF/Sprint kind of thing if I can get some people together. I intend to get past this chaotic stage by then so that people can actually dig in and help without me constantly pulling the rug out from under them with sweeping refactoring.

Submitted by Jean-Daniel on

Michelle,

You have taken this important project on, so it is unlikely that someone else would initiate another similar project, given your experience and good Drupal reputation. You are one of those visionaries who sees a crying need and is determined to see it filled. A well-rounded discussion forum module is one such crying need.

At the same time, you have established clear boundaries about how much effort you can devote to this project - not much - as you are raising children and are not being paid to do this work. Understandable.

As well, you explain that the code is currently in a state which would make it difficult for other developers to contribute to the module, but that there is still quite a bit of work to get done before one can call it a product. You don't want to commit to an ETA.

The up shot is that you have taken control of the the D7 Discussion Forum solution space and your constraints have become our constraints. That solution space now appears to be in limbo.

I need a Discussion Forum urgently with approximately the features you have listed above, of some work-in-progress usable iteration of it. I'd be happy to offer some funding for such an iteration. We could discuss my "must-have" features, and decide how much work is needed to get there. Would that be a possibility?

Jean-Daniel

Submitted by Michelle on

First off, I do want to clarify that I have neither taken control of the space nor is it in limbo. D7 has working solutions in core forum, Advanced Forum, and Brain Forum and AF, BF, and Artesian are all moving forward. So there are multiple options and no limbo as there is plenty of momentum.

As for funding... That's a tough one. In theory, funding would be great. I am able to set aside more time for something that is paid work than something that is a hobby and could make progress faster. Not to mention it's nice having a bit of spending money as I have no income of my own and I have another hobby (photography) that is rather expensive. :) Plus, I still have saving to do for DrupalCon.

That said, I'm concerned about your "urgently". Even with funding, I'm not going to be able to whip out a production-ready forum in a week. Also, I am completely unable to estimate how long it will take me to do something. Even my rough guesses tend to be way off, so I couldn't provide you with a quote of X hours for Y feature. That may not be an issue here as I don't necessarily need an hourly wage as long as what you are wanting is stuff I would be doing anyway. More of an incentive to devote more time to it to get to a usable state quicker. If you're still interested, please use the contact form so we can discuss further privately.

Submitted by Michelle on

Guess I scared him off...

Michelle

Submitted by travis on

Looking forward to new forum.
Would it be helpful to list here and on drupal.org any conrtib modules that Artesian is dependant on? Perhaps people willing to help out can put some effort into fixing bugs/adding features to them in the mean time, so they'll be ready for when this is released?
Thanks and good luck with the project.

Submitted by Michelle on

At the moment, the only contrib dependency is Entity API. CTools will be for sure at some point and most likely Views, though there's a slim chance it will be "highly recommended" rather than required. I'm considering using the Relation module but no decision there, yet. VBO will be needed for moderation, but that may be a submodule. Everything else is up in the air. I avoid dependencies as much as possible but will add one if it makes sense.