Agile development of relational-database backoffice business applications with a web-interface
Asterix is a module designed to build relational database web applications using the core Drupal API as a framework. It is configuration (file) driven. In the DEMO directory are a couple of demonstration configuration files to showcase the functionality.
The best example is the bugtrack.as file. Unfortunately this file is only available in Dutch at this moment. An English version is being worked on.
Although Asterix is a work in progress, it is already in use as the backoffice application for a big Dutch website. My company is aware of contributing this module to the community, but only after security checks by the community can this name eventualy be revealed.
The bugtrack application configuration was created during a 1 hour agile brainstorm session with 3 people. A business analyst, a programmer and a tester.
Please check it out. I welcome every feedback.
Note: There are still json files in the demo directory. These are obsolete and will be removed. Check out the files with the .as extention. These are parsed by the new Asterix Script processor.
Note 2: Please be aware that although i am an experienced PHP/MySql developer and have written multiple Drupal 6 modules, this is my first project I am actually commiting. I am aware of the fact that the project is not completely up to the Drupal standards right now. Please give me the feedback I need to make this project meet every standard you can think of! ;-)
Compatibility
- Drupal 6
- MySql 5 >
- PHP 5 >
Queries generated should be postgress compatible but this is not tested yet
Project page:
http://drupal.org/sandbox/wimtol/1249174
Git
git clone --branch master wimtol@git.drupal.org:sandbox/wimtol/1249174.git asterix
More to come
Already built but not yet available:
- asterix_tree: View all objects in the datastore as a tree
- asterix_deploy: Push configurations to remote servers
- asterix_code: Event handling using PHP from the webinterface. Automaticaly pushed by asterix_deploy
- asterix_export: API module for streaming asterix data to the client. Two support modules available for creating CSV and SDF files
| Comment | File | Size | Author |
|---|---|---|---|
| #1 | coder-result.txt | 16.45 KB | klausi |
Comments
Comment #1
klausiIt appears you are working in the "master" branch in git. You should really be working in a version specific branch. The most direct documentation on this is Moving from a master branch to a version branch. For additional resources please see the documentation about release naming conventions and creating a branch in git.
Review of the master branch:
This automated report was generated with PAReview.sh, your friendly project application review script. Please report any bugs to klausi.
Comment #2
wimtol commentedHi klausi,
Thnx for your time and effort. I'll look into the branching and the coder issues. By the way, have a look at the last code issue. It seems your script is looking at my is_array() function as if it was the array() function. Agree? Or are you just calling coder functionality from your script? Either way. I'll look into it.
Wim
Comment #3
klausiyes, my script also finds in_array() here, but it does not matter as there should be also no space. See http://drupal.org/node/318#functcall
Comment #4
wimtol commentedHi Klausi,
I ran coder and fixed all of the issues. Updated the info file, created a new branch, added the README.txt file etc. etc.
Right now i'm looking into removing the master branch from git.
Wim
Comment #5
klausiwrong branch name, 6.x-1.x-dev should be 6.x-1.x. I think you cannot remove the master branch currently, you can only empty it. See step 5 in http://drupal.org/node/1127732
My script uses the Drupal 7 version of coder, so it may find more errors than the Drupal 6 version.
Review of the 6.x-1.x-dev branch:
This automated report was generated with PAReview.sh, your friendly project application review script. Please report any bugs to klausi.
Comment #6
wimtol commentedYep. Coder for Drupal 7 is absolutely finding more errors than the 6 version. Minor errors are down to 6 in my case. In your case its still 403 as i can see. Pff.....
I'm going to set up a Dupal 7 sandbox on my local machine for reviewing purposes.
Thnx
Comment #7
wimtol commentedFixed the branche (again ;-)) but right this time. Ran coder from drupal 7, created a couple of regular expressions for finding trailing spaces and wrong comment lines etc. etc.
So this version should fix all coder issues. Well... keep my fingers crossed.
Comment #8
doitDave commentedHi,
Automated review (Please keep in mind that this is primarily a high level check that does not replace but, after all, eases the review process. There is no guarantee that no other issues could show up in a more in-depth manual follow-up review.)
Review of the 6.x-1.x branch:
This automated report was generated with PAReview.sh, your friendly project application review script. Go and review some other project applications, so we can get back to yours sooner.
Manual additions:
hth, dave
Comment #9
wimtol commentedFixed all coding style issues and cleaned out the master branch. Turned out I already did it but forgot to push it, mww.... Also removed the 6.x-1.x-dev branch.
Thnx to dave
Comment #10
patrickd commentedStill some formatting issues, see http://ventral.org/pareview/httpgitdrupalorgsandboxwimtol1249174git
Comment #11
patrickd commentedSwitched back to needs review, so in-depth reviews won't be blocked by coding standart issues.
Comment #12
wimtol commentedI bow to The .....
Thnx patrickd, for pointing me to the (your?) website with the automated pareview!!
I was struggling for a while trying to get pareview working (I'm running 99% of my time on windows) and codesniffer... Tried Eclipse with the plugins for codesniffer, no luck......
So I'm more than pleased with the review site.
Thnx again.... i'll be back soon with 0 coding errors ;-)
By the way, busy with the documentation website right now, maybe you could take a look at
https://sites.google.com/site/asterixrad/
Just remember... work in progress.
Comment #13
wimtol commentedFixed all coding issues.
Great thanx to patrickd, again, for making it easier to run PAReview.sh by way of his web interface!! Great work.
Comment #14
wimtol commentedStub
Comment #15
wimtol commentedAnybody .........
Is there anybody that would be so kind to take a look at this module so that i can go on with the project?
If you need anything, any help, any information or what so ever, please feel free to ask. No problem.
Comment #16
patrickd commentedSorry for the delay but as there was a flood of new application over the holidays this will take some time.
too many applicatants and too few reviewers (please think about helping us by reviewing others)
As it's best practice to review issue with the oldest "last update" state first your bumping is quite contraproductive
Comment #17
rudiedirkx commentedI have just one tiny remark: please don't commit files like
Thumbs.db. It's alright if you have a.gitignorein your project folder, but even better if you have it somewhere locally as a global gitignore, so you don't commit a.gitignore.Your commit messages, README and CHANGELOG are excellent =)
And a question: why is it a Drupal module? Does it add something to Drupal websites or is it just an unrelated tool 'written in Drupal'?
Comment #18
wimtol commentedHi,
Thnx for the tips.
Why a drupal module? Good question.
1. I love drupal.
2. The Drupal API is very powerfull
3. A module like this is missing in my opinion
Most people use Drupal as a CMS. Me to. But at my company almost every website we build is accompanied by a 'backoffice', a database application. And that is not realy the strength of Drupal. But with Asterix it is! We use it all the time.
But..... it could be that it's just not for you. If you're just building websites for anonymous users it probably isn't.
Maybe I should make a screencast explaining what can be done and 'WHY' you could use Asterix ? Mwwwww...... something to think about.
Comment #19
rudiedirkx commentedI've seem 10 minutes of your google sites screencast. Looks nice. And fast. I still don't get why it's a drupal module though. Drupal itself provides all of this and muck more: CCK (D6)/Fields (D7), Views, Views bulk operations, Rules etc.
You could have used several config file formats: json, yaml, xml, ini, php. Why a proprietary format? It makes the module less open and extendable.
Have you worked with D7? Fields make it amazing. Much better, easier and more powerful than CCK AND it's extendable by other modules (i.e. the Timefield or SI modules).
You've put a lot of effort into making a framework... Drupal already is that framework... It's good practice, but is it useful for other people? I wouldn't use it. I'd use Fields and Views etc.
Not to bash :) but I don't see the point...
Comment #20
rudiedirkx commentedWhat would be very useful is a module that sets up node types and their dependencies from 1 config file. Although, that's almost what Features does. You should check out Features too =) In D7 ofcourse.
(Features makes a module from existing settings so you can export them combined to another site (or save them as backup).)
Comment #21
wimtol commentedHi Rudy,
I absulutely get your point. Don't reinvent the weel. Completely agree with that. Im my opinion I don't. You're obviously in doubt ;-)
But... i'm working on the Drpal 7 variant of Asterix. Leaner, meaner, more extensible. And I'm absolutely looking at integrating it with the Fields API.
More than that even... integration with nodes/views/cck etc.etc. But...... even than....... there's the problem of performance. The node system just isn't/wasn't designed for loads of data.
About the 'language'. The script is tailormade for Asterix, Yes it is. I examined INI (Multiple levels are a problem), JSON (readibility and parsing is a pain) YAML (I like the indentation but for the rest ..)
But in Drupal style, there is a hook (event) for loading the config. You can easily build your own module for reading Yaml, ini and/or json files. By the way, you can also define the config is a plain old multi-level array.
Grtz,
Wim
Sorry for the delay. Busy@work
Comment #22
prashantgoel commentedsee this http://ventral.org/pareview/httpgitdrupalorgsandboxwimtol1249174git for the errors being generated
Comment #23
wimtol commented#$%%@@# Pffffff...... fixed all coding errors december 15 2011......... new version of codesniffer
Ok, I"ll fix it again......
But in the meantime.... anybody interested in having a serious look?
Grtz
Comment #24
mitchell commentedInteresting project. Thanks for contributing!
* your demos look very interesting. they remind me of Patterns
* -1 on the name. this isn't telephony related, and doesn't tell anything about the project. from the looks of it though, it you're not doing any major integration with drupal core, so it's understandable that namespacing this project would be difficult.
* I wouldn't call these api introductions a red flag, but it's just outside the mainstream, so there'd be an uphill battle in adoption.
* please move your docs onto d.o. that would help with review.
* could you please describe what influenced your architecture designs?
* how does this compare to drupal core's APIs?
Comment #25
klausiClosing due to lack of activity. Feel free to reopen if you are still working on this application.