Some neat things

More Blogs By azz0r | View This Blog | 0 Comments | Wuggawoo Originals

As my work project advances I create new things that are useful for the wuggawoo codebase so I develop them on Wuggawoo first and then port them over. The problem with this is that its easy to over-ride some custom code that is specifically coded for my project.

To combat this I made an extension folder in the Class, controller and template directories. However, this is unorganised and the team who are going to be helping soon will find it overly complex and rightly so. Therefore, I made an extensions folder in the root with its own class/controller/template directories.

The template class now checks if a file exists in the root template folder, then the extension template folder and then the theme folder. The main configuration folder lets the server manager to change the section and action so that the default page doesnt have to be the forum anymore.

Also worthy of note is how "Projects" can now become "extensions". Currently my major project is a PHP My Admin rip off, except light weight and more specific. I shall post pictures soon.

[b][u]Other Notable Changes[/u][/b]
The user URL was "user/username-userid" it has now become "user/username/userid-page" this will allow future use of comments being paged and it looks neater in my eyes.

Another big change that I'm kinda split on, is now Groups can be assigned to threads aswell as the forum id. This means threads can have two sets of meta data attached to them, really honing how specific it is. It also gives the user control to essentially create there own custom forum! This is great for users and the websites owners as it delivers more keywords, more accessibility an more user enjoyment and creativity.

It was achieved by adding group_id next to forum_id on the thread row. The reason I'm unhappy about this is because my master trainer would have insisted that it be

Table: Thread
Table: Thread_Group
Table: Thread_Forum

Which would mean a thread could in essence be tied to many groups and many forums. A one-to-many relationship. HOWEVER I opted against this as it meant a MAJOR overhaul of how threads work AND means users could overload a theads worse. The amount of headaches and query rewrites to accomplish it would have probably slowed down the site aswell.

[b][u]Current Problems[/u][/b]
I suck at Mysql. I've never been great and essentially I ride the wave of standard compliance with lack of proper indexes and slow queries on many joins. I should know how to set up proper indexes but I just don't. Reading would never teach me. I know no-one good at MYSQL with the patients to teach me. Its definetly the one area Wuggawoo falls really weak on. In essences its a huge crutch to, the main pillars of PHP development are

MYSQL
PHP Code
Javascript
Directory Strucuture

In my eyes atleast and currently the top pillar is being weakly done. For that I'm sorry.

Another problem is Javascript. I'm using the MooTools framework, alot of my javascript is weak as it is, but now theres a new version out that would require more rewriting and right now I'm comtemplating switching to jQuery when the mood takes me. However I don't want to even type about it, javascript and me don't get along.

- Aaron Out.

A blog about work?

More Blogs By azz0r | View This Blog | -1 Comments | Wuggawoo Originals

I do feel slightly blessed to have my job. It's something I take for granted alot and it's slowly but surely I'm realising that I get paid to do what I enjoy, from the comfort of my own home with my family around me.

Are the long hours of staring at a monitor a plus? Not really, but you can factor in the fact that if I like the weather in my back garden (like I have in the last few days) then I can up and leave this desk and go and sunbath and then catch up on my hours during the colder night hours.

Does that mean I can laze around and do no real work? Not at all. I have projects set with a certain time-frame and a definite urgency and quality needed. :o

Infact, I have my own quality and standard I set myself to, they are: PHP 5, Error reporting set to E_ALL (not strict mind), CSS fluid design, Object Orientated, MVC set-out and modular.

So bearing that in mind, my work requires far more attention that most programmers? For you see all of the above give out are a high bar to reach but once they've been met they knit together and provide an App thats easy to understand, update and work with.

One thing I'm particulary proud of today is Tags and "Events".

[b][u]Tags[/u][/b]
Tags are there own object, they are an id, title, number and views. Mathetically speaking number and views are added together to provide the important and use of the tag. From there we have a table called Tag_Blog. When a user adds a tag while creating a blog all sorts of double checks are made to make sure the tag is created and then linked to the blog. Why make such a robust system? Well sooner rather than later I have to impliment products, stores and product categories. Each of those needs to be taggable. So by not making tags a character field on Blog, I have unleashed the system.

[b][u]Events[/u][/b]
One particular aspect of the project I'm working on (The Wuggawoo codebase will be used) is the ability to have a facebook-esque like notifaction panel. Did your favourite user make a topic? How about an email alert, or the option to not recieve an email about it, but to view it on your update wall. Now Wuggawoo isn't a great advocate of something like this, as there are so few posts. However when you get together thousands of bargain hunters who want to share deals and product information - this is a vital piece of the puzzle. The system is robust and template based to, with extremely well planned emails sent out so the server doesn't get bogged down.

That's all for now, no replies...I mean comments, I bet ;)