A New Framework, and Other News

From time to time we'll be posting updates on the progress of version 3, or just some random ramblings about what's being worked on at the time.

A New Framework, and Other News

Postby GeekCaveCreations » December 5th, 2013, 4:16 pm

I know it's been a while since I've checked in and let everyone know what's going on, so I figured I'd drop a nice bombshell or two and then slink back into my corner, to continue slaving away on Version 3. :P

As some of you may already know, I've started a new job back in November as a web developer for a gaming consultancy firm. This has had a positive effect on the project, in that the new job (and all of the new challenges that have come with it) has served to inspire me to look at the direction that version 3 has been headed, and to explore some options that were previously left unconsidered. Bottom line? Program O Version 3 is now heading in a new direction, and will have a completely new architecture than before.

Now that may sound like bad news, but it's really not, because the past couple of weeks have seen vastly more overall progress (not to mention specific progress in certain areas) than everything that had gone on since development on version 3 began! Here are a few details:

1.) Version 3 will be built on the CodeIgniter PHP framework, which provides a concise but extensive library of PHP classes and functions, helping to reduce development time. there will also be the added benefit of simplified testing, to help reduce bugs, and a "load only what you need" philosophy, which will improve performance. CodeIgniter is a robust, mature well supported framework, used by a huge number of websites, so I'm quite happy with this development. :D
2.) I've added an optional "membership system", which will add the ability to have users register and log in. This will allow botmasters to add a layer of user accountability that wasn't previously possible, and can also open up possibilities for enhanced content for users who are logged in, restricted access to certain chatbots (think: Adult oriented bots here), and other features, just for starters. The membership system also improves security for chatbot administration (not that it was insecure before, mind... It's just harder now to get in for someone who doesn't belong).
3.) Based on discussions I've had with folks, both here and elsewhere, there will be improvements and enhancements to a lot of admin functions for Program O, including the ability to import or export an entire chatbot (AIML files, bot personality, chatbot config, etc.), a training interface that's more like what Pandorabots uses, individual custom web interfaces for each chatbot, and a host of other goodies, as well.

Overall, I firmly believe that Program O version 3 is much better shape than it was before. My only really big challenge at this point is in the area of supporting AIML 2.0, but that's something that I'm confident that will be overcome. :) More to follow, later. In the meantime, back to work for me. :D
Comforting the disturbed, and disturbing the comfortable
Chat with Morti
User avatar
GeekCaveCreations
Safe, Reliable Insanity, Since 1961
 
Posts: 1115
Joined: April 18th, 2011, 10:52 pm
Location: Nevada, USA

Re: A New Framework, and Other News

Postby flappy » December 18th, 2013, 6:54 pm

This all sounds great and like Program-O is moving in the right direction. My only question is about the choice of CodeIgniter as a framework. I went to their website to check it out and found that they are in the process of searching for a new owner. While the framework looks slick, I'm concerned about building on a framework that could, effectively, be at end-of-life. Were you going to fork the most recent project and maintain it yourself? Just curious.

*EDIT* People commenting in the announcement blog about CI seeking a new owner mention PHPixie as an alternative.
flappy
Regular Member
 
Posts: 40
Joined: August 6th, 2011, 9:11 am

Re: A New Framework, and Other News

Postby GeekCaveCreations » December 18th, 2013, 8:14 pm

I'm aware of the "issue" with CodeIgniter, and I'm not all that concerned about it at present. First off, CI is considered both mature and stable, and it isn't prone to security vulnerabilities other than the ones introduced by the application that uses the framework. Also, once the underlying framework is configured and finalized, it won't be subject to change, other than bug fixes. New features shouldn't affect the core, and even if that changes, I doubt that such modifications will require updated versions of the framework itself. I haven't heard of PHPixie as an alternative, but I'll check it out. :)
Comforting the disturbed, and disturbing the comfortable
Chat with Morti
User avatar
GeekCaveCreations
Safe, Reliable Insanity, Since 1961
 
Posts: 1115
Joined: April 18th, 2011, 10:52 pm
Location: Nevada, USA

Re: A New Framework, and Other News

Postby flappy » December 19th, 2013, 7:54 pm

After a bit of reading, it appears that PHPixie is either based on or is a fork of CI. But I agree with what you say about CI being mature and stable.
flappy
Regular Member
 
Posts: 40
Joined: August 6th, 2011, 9:11 am

Re: A New Framework, and Other News

Postby flappy » November 5th, 2014, 6:54 pm

What are the plans for the back end? Will it remain MySQL rdbms, or are you planning on using a graph database server (see my post here: http://forum.program-o.com/viewtopic.php?f=7&t=614)
flappy
Regular Member
 
Posts: 40
Joined: August 6th, 2011, 9:11 am

Re: A New Framework, and Other News

Postby GeekCaveCreations » November 5th, 2014, 9:59 pm

Given that Program O now uses PDO for it's DB interface, any DB system that has a PHP PDO driver available can probably be used, so long as it uses basic SQL for it's query language. We've been working on making sure that any SQL queries are generic enough to be used by any SQL-based DC, such as MSSQL, PostgreSQL, SQLite, etc. I'm personally not familiar with any graph databases, nor am I familiar with how they work, so any tips along these lines would be most appreciated. Program AB uses a similar system (I think) for storing AIML categories, so I'm keen to learn what I can about it, reall. :)
Comforting the disturbed, and disturbing the comfortable
Chat with Morti
User avatar
GeekCaveCreations
Safe, Reliable Insanity, Since 1961
 
Posts: 1115
Joined: April 18th, 2011, 10:52 pm
Location: Nevada, USA

Re: A New Framework, and Other News

Postby flappy » November 6th, 2014, 4:19 am

PDO works for accessing just about any RDMBS like MYSQL, PostgresSQL, SQLLite, etc. However, relational databases are basically tabular data structures which become increasingly more difficult to manage the more complex relationships you introduce with regard to the data.

Here's an article by Dr. Richard Wallace about how he envisions the data structure of the A.L.I.C.E. AIML in terms of efficiently retrieving the data as well as storing it:
http://www.alicebot.org/documentation/matching.html

Here's a discussion of Graphmaster from chatbots.org (which I'm sure you've probably already seen).
https://www.chatbots.org/ai_zone/viewthread/1772/

Neo4j is a graph database which seems to be the only fully-working implementation that would be able to handle this type of unstructured data. The client piece is very different than PDO and is not yet complete for PHP. Neo4j needs to be installed on a server where you have root access and permission to install Java projects (not most shared hosting environments).

I've been wrestling with the notion of a graph database for a while and have been playing around with RDBMS/XML hybrid solutions.

Here's an interesting article about designing an app and it's database using Neo4j:
http://www.infoworld.com/article/2611503/application-development/what-are-graph-databases-good-for--here-s-a-killer-app.html
flappy
Regular Member
 
Posts: 40
Joined: August 6th, 2011, 9:11 am

Re: A New Framework, and Other News

Postby GeekCaveCreations » November 6th, 2014, 4:32 am

Thanks for the info, Flappy. You're right about my having read some of this stuff, but it's great to make it available to others who might be interested. :)

Currently, one of the challenges that are preventing us (well, me) from advancing version 3 is the fact that I want to use a PHP version of Program AB's GraphMaster algorithms. Brent Eds, another member of the dev team, has ported the Java code for the GraphMaster class (along with a bunch of other supporting classes and files) over to PHP, but there are a lot of bugs that need to be worked out, and TBH, I don't fully understand the code (it does things in ways that I'm not as familiar with as I should be, and the class structure isn't fully what I'm used to). However, I'm working my way through it when time permits, and I'll get it working at some point. :)
Comforting the disturbed, and disturbing the comfortable
Chat with Morti
User avatar
GeekCaveCreations
Safe, Reliable Insanity, Since 1961
 
Posts: 1115
Joined: April 18th, 2011, 10:52 pm
Location: Nevada, USA


Return to Developer's Blogs/Progress Reports

Who is online

Users browsing this forum: No registered users and 1 guest

cron