Finally Got Some Work Done!

School has started up again in full swing, but since Christmas I’ve finally had some serious time to work on RawScripts, and wanted to share some of the progress that has been made.

Flask is working out perfectly. It’s fun to write, has a whole host of plugins, stays well out of the way so you can add additional libraries… I can’t say enough good things about Flask. And so, because of it’s simplicity, much progress has been made in getting the server-side code independent of AppEngine. If you grab the code from the repository, the “freedom” branch contains all the new-fangled Flask-centric code. And in that, most of the core of the system has been remade.

Remade, but better too. Since I was in the position of rewriting the server side code from scratch, I took a lot of liberties to make the code more uniform, more extensible, faster, and smarter. What is so far most exciting is the new idea of a “project.” In the new system, a project is a collection of materials used to create a film. At the moment there are only two types of materials – the screenplay, and a titlepage. But moving forward, it will be much easier for people to develop additional project plugins like a storyboard editor, or a scheduler, or call sheets. A small folder with python, html, and javascript can be easily dropped in place, and it’ll tie into the save system, revision history, export controls, and much more.

And finally, Mongodb. It’s working well for the devolpment process, for the most part because it’s set up how I think. After doing a lot of JS development, I like to thing in json objects, and organizing my database that way has been a blast. And when the main installation is moved off of AppEnine, it’ll be great, too. However, a goal of this project is still to scale down as well as scale up, and I’m finding MongoDB isn’t so sensible to run on a plug server. For something like the personal scale, there just doesn’t seem to be anything as cool or easy to run as SQLite (it makes maintaining my owncloud installation is such a breeze). And for that reason alone, I’m rethinking SQL.

Anyways, those are the updates. Just letting you all know that the project has been moving forward nicely. And hopefully this year we can begin the exciting shift off of AppEngine and into whatever computers you love and trust.

 

Cheers

Ritchie

Posted in Uncategorized | Comments closed

Well, Hello There, Flask…

RawScripts currently runs on Google AppEngine. It has been a helpful framework and hosting solution up until now, but it just isn’t compatible with the direction the project needs to go — codewise, or philosophically.. It’s becoming restrictive on some code I wanna run, the prices are going up, and I want RawScripts to run on any home server so you can host it yourself. So, a major goal in fixing RawScripts is to get it off of Google AppEngine, and I’ve been looking at a lot of alternatives. The search for a replacement framework has been intense, but I believe it has come to an end. Flask is so freakin’ neat.

Flask came recommened by several folks interested in the RawScripts. I admit, it had kinda gone under my radar, but once I got into it, I was downright giddy. So I’d like to quickly run through ‘why-flask’ and how I got to this conclusion.

Flask is so freakin’ neat – Oh my god oh my god oh my god. Oh my god. It’s just fun.

Flask gets out of the way – It provides some glue between the webserver and the application, handling requests and sessions. And past that, it really doesn’t force you to use anything. Pick your own authentication, pick your own database management, pick a nifty task queue. As great as Django is, there’s too much pressure to do things Django’s way, and that isn’t the best for this project (nor my sanity). Building openId on top of existing authentication?…. eww.

Templating – Jinja is the only major decision Flask made for me, but I quite like it. Plus, it’s very similar to Django’s (and thus AppEngine’s) templating system, so the majority of my templates are good to go.

Documentation – I’m not that bright sometimes. So, sorry web.py. Sorry pylons. I don’t know what you’re talking about. Flask’s documentation, however, is great. Clear writing in both big concepts and specific APIs. Even documentation for their plugins (SQLAlchemey, OpenID, etc) are great.

Deployment – It’d be great if RawScripts could run on a wide range of devices, run by people who don’t need to know much about computers. So deployment is big, and Flask will allow us to make that simple. Few dependencies, almost no configuration. Just point apache at the app and go.

So anyways, I am now moving forward working with Flask, converting what I’ve got, and building what is needed. Still at very early stages, and this will be off the main branch for a while I expect. But check it out. It’s very exciting.

Posted in Uncategorized | Comments closed

First Week Open: A Retrospective

It’s been but a few days, but my general enthusiasm compels me to write again.

Thanks to everyone who’s asked questions, spread the word, and wants to help. I figured this was a niche product with not-so-general appeal, so getting the response we got was danged fricken’ awesome. Especially exciting is an offer from a user to maybe get new graphic design around the site, because that is so long past due.

As far as the code goes, my job this week has been cleaning up the mess I share with you all, and with substantial progress. All things redundant, ambiguous, and in the wrong place are being fixed and documented. And the upshot is that it’s much easier to get the code running, and much easier to see what’s going on with it.

Now, I’m sure people are waiting for the weekend to hack at Rawscripts. I’ll actually be out of town for most of it, so I’m not hanging out on IRC. But if you have any questions, hit up the mailing list, and I’ll be ready to answer.

Cheers,

Ritchie

Posted in Uncategorized | Comments closed

RawScripts Source Code is Hereby Opened

So, I’ve been building this screenwriting software for the past year, and two things have happened in that time. First, what started as a small project for myself and few friends, has turned into a feature rich tool with a couple thousand users. And second, I’ve been barraged with the messages of the Free (as in “Freedom”) Software community. So today I make an honest project of Rawscripts and release the code under the AGPLv3.

The reasons for this are plenty. Distributing the code freely, I believe, is the best way to make the software better. It’s the best way to make it highly adaptive to new forms of video production. In part, I just think open sourcing will be fun.

But also, there’s this whole “cloud” business. Putting out data online is great for lots of things, like for automatic backups, accessing your files anywhere, and easier collaboration. But it’s tragic when you have to trust something as precious as your screenplays — your personal writing — with some company on take it or leave it terms. There is no transparency for what happens to your screenplay when you click “Save” and writers shouldn’t have to put up with the choice between easy access and control of their work. (See, you FLOSS people really have gotten to me.)

So that’s me ranting. Now let me be exuberant. Come Join The Community! There’s a mailing list, go look at the code, try out the software, write some poetry about it, look at the first bit of documentation, and just get involved. It’ll be great. Summer school is over and the Fall semester yet to start, so I’ll be spending dozens of hours a day on IRC. So come say hi in #rawscripts at frenode.net.

Welcome!

BTW, do you give cool code names to version 0.0.0? If so, I’ve been seeing this as a “Duck Soup.” If not, I’m still calling it “Duck Soup.” Hail, Hail Freedonia.

Posted in Uncategorized | Comments closed