• 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
JTaby Semi-Automatic Administration System

[eluser]Majd Taby[/eluser]
hehe yeah we worked it out in private Smile

[eluser]Majd Taby[/eluser]
I have just updated the main post to reflect a new 1.2.1 release which fixes a bug when running in php4.

JTaby is a great time saver.

I had it up and running and was working with it in very little time. The code, documentation and screencast are excellent.

It can be very difficult finding a third party app that works "out of the box", let alone one you can start working with immediately.

Great work Zaatar. Thanks!


I have just downloaded JTaby and will play around with it today. I am looking for a tool to help me create the admin backend for my projects. JTaby looks promising. However, I do have two suggestions. First, it would be nice if JTaby used some sort of templating system with embedded views for the forms and a container (master) view. I have developed a controller class that simply requires you to call regView(&lt;embedded_view_tag&gt;,&lt;embedded_view_template&gt;, <data>) to register a view with the system. Then, a call to showView() displays the enrite page. The system is loosely based on my windows and GTK experience. It would make a nice addition to your backend system... If interested, let me know.

The other issue I see is systems that do not map views/data to a table with a 1-to-1 relationship. Many of my projects require considerable data normalization and complex queries. Is there a method in place to allow for multi-table CRUDs, other than overloading the base functions?

[eluser]Majd Taby[/eluser]
Hey guys (Monotoba sorry for not replying to you, for some reason it didn't notify me by email that you replied.)

I'm going to be making some major code changes with JTaby, along with a new skin, and a website for developers to upload plugins to. The website is 90% done (That's what I've been doing all this time). However, I am taking suggestions for the next version.

Here are the things that need to be worked on.

First of all: The jTabyForms library needs a lot of work. Right now, the jTabyAdmin library handles the way data gets sent to the db and to the view. I want to change that. I want to add callbacks to every form element. For example, every form element would have prepForDb and prepForDisplay methods. This helps ensure that special elements like checkboxes, on_update and on_create fields, multiple field elements (author with three textboxes) all have a chance to prepare data the way they need to.

In the current version, I solved that problem by adding special parameters to the config. It works, but it's a very ugly solution and means that any new plugins need to be coupled with other libraries, I don't like that.

As far as the jTabyController, that need some revisions too, it's taking too many parameters, it needs to be smarter and more efficient.

I've also made some changes to the jTabyLogin library. I created a new option: security_level (i think it needs a better name). What it does is tell the system to secure all except the specified controllers or secure all controllers except the ones specified. Oh and I made it so you can secure methods within controllers as well Smile

The jtabymessages library seems to be working fine.

Now, as far as views and templates, to be honest I think adding a templating system would just be unnecessary overhead (I can be convinced otherwise). What I was thinking of doing was template strings. Something like 'form_template'=>'{form_prefix}{messages}{label}{field}{form_suffix}' which would also allow for other html.

Monotoba, could you pelase expand on your second note?

Hi Toppy,

Templates: First, the template issue. Most of my projects contain templates as I do no real layout or design. My graphics guy does all that. Our projects tend to be high-end and require someone with special design skills. Since he is a great designer but can't do much more than echo a value in php, a template system eases development. The other reason for a template system is that most of our projects get some type of layout change almost monthly and a few change weekly. Using a template system makes these changes much easier.

With that said, I don't think that forcing a template system on everyone is good. I myself fore-go the template system for minor projects. However, the system should make it easy to add a template system if one is needed. This can be easily achieved by placing all view code in a class that wraps the rest of the system. The slight overhead incurred out weights the bennifits in my oppion...

My own template system (which allows for embedded views) is simply a wrapper class around what ever code I'm using. The class extends the Controller class and instead of calling $this->load->view('name',$data, true), I call $this->regView('template_tag', 'name', $data), for all subviews and then $this->showView() to display everything.

As for security, I would do something similar and would try not to force anyone to use any specific auth class. However, I would include an auth system that worked out of the box and could be easily replaced if needed. Again, if this maps view calls to the view system, then templates can be easily implemented.

Db/Views: Most of my projects currently require me to handwrite many of the db queries as they tend not to map to a single table and have complex structures with dependent or conditional sub-queries. As I looked at your code, it seems that your presentation depends on the data going into, and coming from a single table. I solved this by overloading your base methods. However, it would be nice to have the system support inserts into multiple tables.

[eluser]Majd Taby[/eluser]
Ah ok, I see what you're saying, and I agree. Right now, the system provides you with its own layout and it's kind of rigid. It would be nice if there was a way to easily skin it to match the look of the rest of the site.
For the login issue, my login auth system is completely transparent, to "unplug it", so to speak, would mean you simply comment out the hooks. I should make a note of that in the documentation.
The db issue, I agree, it would be great if you could insert into multiple tables.

Thanks a lot,

p.s. I'm thinking of giving it another name, JTaby is kind of my professional name Tongue

Digg   Delicious   Reddit   Facebook   Twitter   StumbleUpon  

  Theme © 2014 iAndrew  
Powered By MyBB, © 2002-2021 MyBB Group.