Hi, my name is Matt, I am a Ambient project developer. I own a company named Webactive based out of Minnesota, USA. This engine originally started off as a way to help me build webapplications more easily; based, with a view point of a more simple (process) of managing, and creating a website. Rather than focusing on simplified, dumbed down API. As of now ambient does not have a frame work; well it does, but the framework for the system is very very small (maybe 10 files) because I have focused more on the engine that interacts with the framework. The ambient engine is basically a enviroment that interacts with a framework in such a way that it may allow you to do little, or no (actual) programming to create any web-application! Ambient handles all processing in a secure, and checked manner. Allowing basically infinate control over complexed webapplications which are built using a framework that is compatiable with ambient. Ambient System Engine is not bound to any particular data input/output (except xml, for configuration files) data input can literally come from any place and be compatiable with ambient, if a simple ambient compatible plugin is built for it. This is also carried over with system output ambient can output any file type as long as a framework plugin is built for it. Ambient engine offers complete control over how the engine processes data, where data is coming from, ect. This is just the tip of the ice berg; if you would like to know more, or are interested in becoming a developer you can e-mail me @ firstname.lastname@example.org I will be more than happy to answer any questions you may have. Matt
The source has been recently been taken down for the time being until I am able to properly document my ideas that went into the project. I have recently found out that some things in the project may be new thus I must document them under GPL to ensure that they are not stolen (thus protecting my project). I am absolutly (finatically) parnoid about the system I am designing falling into the wrong hands. I do not wish for ambient to be implemented (in any way) without accrediting the creator (myself). I do not wish for the system to be reverse engineered under a different codeset and then have my ideas patented. Until I can properly figure out how to adequitly protect the system I have designed (and document it) I am offering compiled (only) version of the system. Later when I am sure the project I have created is adequitly documented will I release it under a GPL form. This will most likely come AFTER I create my visual design tool for the system. I personally do not see why it should be out anyway right now, no one has shown any interest in it (I can see why, it has a few complicated concepts).
PS. If you have downloaded the source before or REALLY need to see it e-mail me email@example.com
Ok, I have made some decisions about the engine that I am building, it will remain open source (thus the fact that I have already GPL'd it). The engine platform will be closed source, and the visual tools will also be. This is due to the fact that I wish to protect my investment in time. This is not to say I will not give them away (I most likely will until I can find out how I am gonna play things out). The plugins that have already been released under FOSS will remain FOSS, and also I am planning on releasing plugins under FOSS that the engine is dependent on (such as proc). The platform that will remain closed source will be things like future (modes, input plugs, output plugs). Again I am not saying these will not be free, I am saying that they will only be avilable under closed source; I am also not saying that they will NEVER be released under GPL. Visual tools for the engine will also be closed source, unless I decide differently; I may decide to release two versions of visual tool (GPL/Non-GPL).
Ok, moving on. These are the things I plan on releasing in the next iteration:
Parent/child Checking: For output plugins. This will check to see if a plug is implemented a child interface, if the interface has been inplemented, check to see who the plugins parent is and then check to see if the plugin has executed or not. Not only that, then mark the plugin parent output data and store it in a specialized data feild for sibling access. If parent has not executed the system ends with a "no parent" error.
Personal Mode Tables: for output plugins, thus allowing for individualized data access for plugins instead of current "unified" access. This may also reach outward in the form of individualized access for a certain existing system mode, thus make the individualized access based on the mode type the system is in.
Ambient Installer: The system is in desperate need of an installer to help simplify they installation process, ambient is fairly easy to install (provided an installer).
Change Default Data Access To XML: Right now the primary data access for ambient is database, this is confusing to most new installers because most people require a data base to get ambient to first run correctly. Ambient inital default data access needs to be changed to XML so that nothing else (special) needs to be installed to get ambient to execute for the first time. Database access and be made from alterting the xml files, or from tool access.
More Intuative Interfaces: I am going to start working on skelital abstract classes for ambient to attempt in helping simplify plugin creation, I also need to modify some of the output/input plugin interfaces to get them ready for parent/child and visual tools, on the visual tool side I plan on working with the same plugins that ambient does to display the state of the system.
I know that there are some spelling mistakes, since I am not an english major though I am not to worried.
There has been an update in SystemFiles.CoreFiles.SystemClassLoader
All users should update their system because there was a little flaw in how the system loaded class files (which was inconsistent, and wrong). This may also bring about changes in the input plugins and the way the system handles plugins overall, I am not sure yet though. Also I am notifying everyone that I will be emulating some of the mode interfaces for the next cvs update, and grafting some methods onto Input/Output plugins. This is so visual tools can use the same plugins that the engine uses. Most of these interface changes will be minor (mostly for describing the plugin in a memory mapping, and describing what the plugin does). The plan is that the visual tool will require that the engine is running while the visual tool is in use, and then it will dynamically render content from the engine output (most likely in a xml cross-over language). The visual tool will recieve visual tool specific xml data from the engine, and process it in it's own internal xml systems. The visual tool will also need to know the Ambient Engine, install location, it will then map out the subsequent locations the same way ambient already does. The idea is that the visual tool will be able to directly access the same data ambient is already able to access (security permitting), and also modify them. Once the visual tool modifys data variables it will again request an update from ambient engine, so that more modifications can be made. I am assuming that most of the updates made will be done in "preview mode" while building the application, and then committed to a database or xml file, though preview mode could also be used.
A little update... I don't know if anyone has really noticed...but I have updated the homepage http://www.ambientengine.info with some new information!
One last thing, I have put out the calendar example, I have posted on the website. Since, I have decided not to post the calendar on the CVS tree right now. This is because later I plan on integrating it with the framework, plus the example is not a very good one (code wise) plus it does not use AIOL (Ambient Internal Output Language). It does work, it is just that I generally like to code a little cleaner than what I did with the calendar, and I would rather output XML, than html.
I have typed up a how-to install ambient engine for those of you that need it.. Check it out in the documentation manager!