Samstag, 8. Januar 2011

First presentation, workarounds and a lot of submits

First presentation
Just before the holidays, the teacher wanted to see a first preview of our product, so he could see how far we got and what was left to do.
This was somehow disappointing. The teacher which whom we have the PHP course doesn't even know what tags are. Neither he does about Twitter. He even seems to have problems understanding object oriented coding.

But we also were not really ready for a preview. We thought we had to hand in MsgHub in January after the holidays.
I had some major parts ready, but Most of them were objects (I had to learn object oriented programming in PHP first) and there was only little real word functionality.
So I had all these separate bits together. A lot of that stuff was just meant to work for the presentation and not to be used on the finished version.

For example I built a preview of adding people to your contact list and answering contact requests. But it only worked for a few cases that I wanted to show to the teacher.
I also built in the mailing part. We are using phpMailer_v2.1.0beta1 at the moment. We had some example code for creating and sending emails with that stuff. So I just copied and modified that example code and added it (together with some little pieces of logic) to the broadcastmessage file.

Holidays
Just after the presentation the holidays started and so we had much more time for coding.
Pundidas had a lot of stuff ready. Most importantly the whole signup and login stuff. But due to an accident with a filename, his Tortois svn client failed, so we first had to figure out what was going wrong with that thing (you can read about that on my blog here: http://bashvi.tumblr.com/post/2593384266/how-to-break-windows-subversion-updated)

After that he submitted the code. It was a series of huge and very important submits. The signup code is quite advanced and the interactive Ajax interface is very user friendly. I really hope he's going to write a blog post on how it's working and what he had to do to get it up and running himself, but he isn't the kind of guys putting stuff out to the internet...
Good work Pundidas!

About half of the commits we got so far were done in the last 30 days! http://code.google.com/p/msghub/updates/list

What I've been up to
On my side I spent some time on improving the work I had done for the presentation to a point where it could be released.
First I did some work on mysentmessages.php where you can see all the messages you've sent. You can also delete them from there. Right now it will really remove them form the database, so it's really very privacy oriented, but we might change it later.
All the php script for deleting the messages is inside the same file, so if you hit remove you will just return to the same page again. This makes the whole process more adorable I think and I plan doing this for some other pages too.

I also worked on mycontacts.php. It shows all the contacts in your contacts list and offers an option to delete them.
You can view a specific person's profile by opening up mycontacts.php?PeId=1 for example to view the profile of person with the ID 1. If you do so there's a button that offers to add the person to your contacts list.
If someone wants to add you, you'll see the request on top of your mycontacts. There you can either accept or reject the request. And there's a third option that will accept the request and add the person to your own contacts too.
If you're sending out a request for getting someone in your contacts list that already has you in his/her, he/she won't get a request, but instead he/she will just be added. (get more info on the topic by looking through our slides on contact management: https://docs.google.com/present/edit?id=0AQbzZZWCTcR7ZGsyYzJxbl8zM2RnN3FzM2hn&hl=en

Still there's some work to do both on mycontacts and on mysentmessages.

Getting it to work on a server out on the internet
Pundidas also got some space available on a real webserver where we can host our preview of MsgHub.
Bringing Diaspora up on that thing pointed out a very nasty thing - We have this file called dbconnect.php which includes a single line for connecting to the database. But it's using non-object-oriented style, so I can't use it in my objects. We had to change the settings in lots of files.
Also we had to enter mail and twitter properties in the specific files.
What we want to do, to make it easier to set up an own instance of msghub is to make a single config files where you can enter all the values and where all program files will access.

Looking ahead
so what's next?
We'll there are some important features still missing. But on Tuesday we're going to hand in the project, so there's not enough time left to implement all of them.
But on Monday I'll meet with Pundidas and discuss some stuff. As we are probably going to continue the project for another half a year, there will be time to implement the features.

So the first big thing that is still to come is what we call personal contacts. This will allow you to make sort of an own contacts list where you can have people in that are not on MsgHub (similar to how you have contacts in Outlook or whatever).
Pundidas is currently working on it and it's possible that it will be there until Tuesday.
But there is also some work that has to be done by me. For example I'll need to change all the objects related to contacts (Person.php, PersonProfile.php, ContactRequest.php, SearchedPerson.php, ...) in a way that they will recognize persons that do not have their own accounts on MsgHub.
I'll also do some other changes on the objects, so we can display more detailed information on persons.

The search function is still not implemented, but it is very important!

Also the settings can not be modified yet. The first thing I'm probably going to do (very soon I hope) is that you can view who has you in his/her contacts list and then revoke access, so they can't send you messages anymore.

Another topic that we'll have to discuss is our interface. Currently MsgHub does not look very attractive. It's all these weird colors and a lot of Lorem Ipsum text :D.
We'll definitely have to change that. But we are both coders and not web designers, so we'll probably have a hard time on that...

If this will all be done (hope we'll come to that point :D) the plan is to fix bugs and search for security issues. Pundidas would really like to integrate Facebook, so that's definitely on the todo list for the next half year.

And there are more changes, but I'll have to discuss some of them with Pundidas on Monday.
Oh... Well, and at some point we should tidy up the code (like looking that we're using the same functions for the same kind of jobs).

Keine Kommentare:

Kommentar veröffentlichen