Welcome Guest, Not a member yet? Register   Sign In
Customizable CRUD
#1

[eluser]gyo[/eluser]
Hi everyone!


I just created this library for myself and it still needs some work, but it's a good starting point. I thought someone could be interested in it and if you have any idea or complaint please post it here!



[DESCRIPTION]
This is a true light-weight customizable scaffolding/crud library. It's very similar to Scaffolding class natively provided by CodeIgniter except that it allows you to customize all the elements.
Please read the user guide in the -doc- folder.


[NOTE]
This library is at a very early stage, so please don't expect it to be something complete.


[DOWNLOAD]
CRUD 0.1
CRUD 0.2 (2008/02/24)
#2

[eluser]Atasa[/eluser]
Hi suashi,
I am new to CI but I like your move.
I was in search for a crud model, or something similar.
I also wanted to be very simple and integrated very well with CI.
Personally I liked what David Upton says in his book "Loose Coupling & Component Singularity".
And for a scaffolding/crud library I don't need Code Crafter or similar applications which I have to read another
manual to understand its mechanisms.

Cheers
#3

[eluser]gyo[/eluser]
Thanks Atasa for your reply, you completely got my point of view about keeping stuff simple!


Btw...

I'd like to use this post to spend some words about why I've done CRUD.
I used Rapyd and CodeExtinguisher and they're both fenomenal, they really cut down your development time and I don't want to say that CRUD library is more advanced than Rapyd or CodeExtinguisher, absolutely not... but:

- I love EXTREME simplicity and ease of use
- I don't want tons of files and folders
- I don't want to hack a library to suit my needs (it should be very open minded out of the box)
- I don't want to delete all the unnecessary stuff like fancy js or similar
- I don't want to use hacked libraries from CodeIgniter so I can easily update the core


So basically I ended up with a structure (based on 1 library file, 1 folder with the fields, 1 language file) which doesn't force you to learn anything at the beginning, because it works like CodeIgniter's scaffolding with only one line of code; then if you want to have a different behavior you can start reading the simple manual and begin your customization which is very easy like declaring some array values.

Now I'm about to release a version 0.2 with some enhancements, a better form layout for the example and some more fields.


I really hope you guys can give me some more feedback about CRUD!


Cheers,

gyo
#4

[eluser]Atasa[/eluser]
Hey I agree absolutely,
One thing I have to express tho..
I sat down and figure out that the only thing I need for myCRUD is 2 library files that are completely agnostic
from the other application, which just return data.
So for Start I try to implement
1. Data Form builder class library (loads->helpers->url,form,html)
2. customizable Datagrid table class library (loads->helpers->url,html, loads->library->table)
3. Data Model (All sql logic is here and just binds data to Form Builder and Datagrid which return xhtml formed code)
model class extends->Model

So in this case don't actually need to say &get;instance() in my library and can change any of this files any time
without any worry.

Cheers
#5

[eluser]Atasa[/eluser]
PS
I forgot the Language part which i thing is very important not only for different languages
but also to just keep the standard wording separate.
But I haven't got so far and i like your approach in to that too.
#6

[eluser]abmcr[/eluser]
[quote author="suashi" date="1203646170"]

Now I'm about to release a version 0.2 with some enhancements, a better form layout for the example and some more fields.


I really hope you guys can give me some more feedback about CRUD!


Cheers,

gyo[/quote]

Hello gyo: your CRUID project is very useful; me also, i am an Rapyd user....Do you release a frame field in your future crud version?
#7

[eluser]gyo[/eluser]
[quote author="abmcr" date="1203696595"][quote author="suashi" date="1203646170"]

Now I'm about to release a version 0.2 with some enhancements, a better form layout for the example and some more fields.


I really hope you guys can give me some more feedback about CRUD!


Cheers,

gyo[/quote]

Hello gyo: your CRUID project is very useful; me also, i am an Rapyd user....Do you release a frame field in your future crud version?[/quote]


Actually I didn't think about a frame field, but I'd like to invite everybody who is interested to collaborate!

Btw... thanks guys for your feedback, it really stimulates me to go on with this project!
#8

[eluser]gyo[/eluser]
[quote author="Atasa" date="1203693148"]Hey I agree absolutely,
One thing I have to express tho..
I sat down and figure out that the only thing I need for myCRUD is 2 library files that are completely agnostic
from the other application, which just return data.
So for Start I try to implement
1. Data Form builder class library (loads->helpers->url,form,html)
2. customizable Datagrid table class library (loads->helpers->url,html, loads->library->table)
3. Data Model (All sql logic is here and just binds data to Form Builder and Datagrid which return xhtml formed code)
model class extends->Model

So in this case don't actually need to say &get;instance() in my library and can change any of this files any time
without any worry.

Cheers[/quote]


Pretty good!
I like your idea to separate form builder and data model, please let me know!

thanks,
gyo
#9

[eluser]kucerar[/eluser]
This is interesting. Looks very flexible. Take a look at ATK's idea of "attributes" for more ideas

http://www.ibuildings.nl/wiki/ATK_Attributes

ATK is a fairly large monolithic framework.

The trouble with CRUD is that when you get focused on widgets you end up developing stovepipes (your data and functionality is sunk in there, and you're dependent on the CRUD for whatever limited displays it has).

What I'd like to see is a CRUD that defined SOA endpoints instead of generated web pages.

That way you could lightweight clients like built with EXTjs, or a sharepoint web part, or something, that could then communicate with your CRUD by exchanging small documents.

Error messages etc could be passed as part of the document, in the case of loosely coupled data entry forms with the CRUD server.

The basic design of ATK is "module" containing of one or more "nodes" (point to table basically) containing one or more "attributes" (field level mappings). It's very flexible and very good at mapping to legacy (though this is not always necessary, there is another enterprise pattern that doesn't integrate directly into legacy systems, but gathers stuff, then forwards messages into the system, a CRUD mapper is not the correct choice for this, I can say after having made the incorrect choice :-)

I think ATK's design is sound. But I want to remove the HTML half and just have it deal with XML/JSON exchange. It does no good to replace an Oracle Forms stovepipe with a PHP Forms stovepipe. It costs the same and it's all in one place. The cost of these things needs to be distributed. Strategic.

There, have said too much,

-Rich
#10

[eluser]gyo[/eluser]
Hi kucerar!

ATK is quite advanced and has a very complex structure, and I already found some inspiration... thanks!
I'm implementing a 'post' method in the fields if you want to execute some callback, and the output should make a difference between form and error messages...
I thought about mapping the scheme of a table too, or creating the crud from a definition file, but I want... KISS!
Big Grin

Let me say It's really my intention to abstract the output, but I think that at this stage it would be a bit premature since the library is very young and focused to extreme simplicity.


Btw I think that in a couple of hours or less I'll post a 0.2 version...


cheers,
gyo




Theme © iAndrew 2016 - Forum software by © MyBB