Building A web App Using Nettalk Web Server .. (1)
It’s been a whirlwind few days. Continually, NetTalk Web Server amazes me. It’s just pure Awesome.
My first real work with NTWS (Net Talk Web Server) was with Rasp. Rasp development is still going ahead, currently functionality is being worked on in another system that will slide nicely across.
However, the last few days has (and still is, i’m really struggling to pull myself away to write this) been of such import that it has to be put down on paper. Or the interweb. One is as good as the other right?
Thursday Night .. World Domination begins with a phonecall
I get a call from a work colleague who’s sporting club needs a website done. From past experiences, I know despite what i’d like to think, i’m bad at doing websites.
Zapper (let’s call my friend, because Zap Brannigan is just cool) starts to tell me what they want. Just a small site. Something that displays upcoming events. Some pictures maybe. Oh .. and databases.
Bam. DBs. So after explaining that usually the word "database" adds plenty of zero’s onto the end of a web dev quote, i do the only thing any sane person would. I say I can get it done way quicker way cheaper way better.
Why? What possessed me?
So I get off the phone. Zapper was gonna get together with me the next day at work to talk about what they wanted.
Screw that I thought. Actually, no i didn’t. I thought, "Why wait?".
A few days before I’d managed to get a simple Blog interface into Rasp. A "Pages" file controlled by the usual Browse/Form paradigm in the Admin. And for viewing, a NetWebSource procedure to spit back the posts in whatever way I wanted. Nice.
So I hooked that in, made some modifications, and I had a simple database website already running. It had the ability to keep people up to date with what was happening in the club.
The next point of call was the database itself. The _contextual_ database. I needed the ability to add stats for various different entities. Games, Players, Seasons .. etc etc. The db came together on paper pretty easy. And into the dictionary fairly easily, with some changes along the way.
I struggled when putting it into the NTWS interface. Overcomplicating things, I tried to have all the logical flow happening. The User had to go to the top browse, then the child browse, all the way down to the Player Instance browse, just to enter in game stats.
BAD. That cost me a lot of time. By the end of the night i realised all I needed to show Zapper on the morrow was one browse and update .. the Player. Everything else could wait.
So I got it in. Simple.
We now had:
- Player Stats.
- Administration (of Stats, Blog) via Login.
- And of course, we had the Server App itself, humming away.
Friday Night .. And we get Funky
By friday night, it was clear I need to up my experience with NTWS. So I sought out the nearest skill trainer, readied my sword and staff, and got to work.
The first thing I did was pretty up my blog interface. I noticed that Bruce had these cool rounded corners being used all over the joint. I want that. It was as simple as copying a couple of lines of his code, pasting, changing the element ID .. and bam. Rounded corners. A bit of css manipulation within the NetWebSource procedure, and suddenly my blog/news page is starting to look like a blog.
Actually, not them. I really wanted to get Drag N Drop working. It wasn’t too hard, after a bit of experimenting, and making sure I had the right css happening.
Then I went to bed. Overall, friday night was a mixed bag. Sure, I got some funky stuff in, but really .. Drag N Drop is very specific in it’s functionality, and i hadn’t actually hooked it into the NTWS engine.
We now had:
- Rounded Corners on divs .. yay
- Drag N Drop, client-side only
Saturday Night .. How To Stop An Exploding System
Okay. Here’s where things really kicked it up a notch.
Just for anyone interested, the sub-title comes from Heroes. One of the greatest pieces of story-telling (across all media) ever. Of course, you’re entitled to your own opinion :) ha ha.
I’d had some time to think during the day with the fam. So my mind was prepared going in.
Forums and an Image Gallery. More and more, my mind was beginning to see just what I was creating here. Sure, WordPress is infinitely more changeable, but I was creating an install and run Web Server which served the beginnings of a CMS system. A blog. Forums. Image Gallery. User functionality.
And to top that, there was the contextual stuff. In this case, Sporting Stats.
The admin for the Image Gallery (at this stage) was easy. A Browse/Form into the Image file. Nothing doing, simple.
Showing the Gallery proved a little harder. It was getting late, and I got stuck on some bad code which wasn’t showing the gallery how i thought it should look. Of course, one of my counters was out. Such a lame little thing, but my brain couldn’t get past it.
After fixing this, I moved to the forums.
These were a little harder by concept. I didn’t actually get clarity of mind until Monday Night. But for now, I got the file structures in, and the main pages. Using the NTWS Templates only at this stage. By bedtime a public forum existed, where anyone could manipulate the Headers, Posts and Replies .. using the generic Browses/Forms.
We now had:
- Image Gallery (simple)
- Forums (simple)
Monday Night .. I Can See Green Code
Monday night, two things happened. I realised that I suck at css/div manipulation .. but with some tricks, the Image Gallery started looking okay.
The second (bad paragraph punc.) was that the generic NTWS browses and forms could be manipulated in such a way as to look like Forums.
I had a couple of nice NetWebSource procedures helping. And I learnt a bit more about how the NTWS engine runs Requests and so forth.
But suffice to say, the Forums were now kicking. A visitor could write Posts and Replies. They couldn’t edit the Headers, and couldn’t change existing Posts.
Still basic, but more advanced that the previous basic.
We now had:
- Image Gallery (less simple)
- Forums (less simple)
Tuesday Night .. Light Up That Box!
It’s Tuesday Night, and this post has demanded a fair bit of attention.
However, before starting this waffle, I managed to get both Scriptaculous and Lightbox into NTWS, so that my ImageGallery could have some nice effects. This is cool, because it’s eye candy. And most people are attracted most of the time to form over function. At least, it seems that way to me.
So now I’m done. I’ll get back to the Making.
Suffice to say, there is a huge potential in NTWS for creation. Imagine and do. There is no .. something.