Loading presentation...

Present Remotely

Send the link below via email or IM

Copy

Present to your audience

Start remote presentation

  • Invited audience members will follow you as you navigate and present
  • People invited to a presentation do not need a Prezi account
  • This link expires 10 minutes after you close the presentation
  • A maximum of 30 users can follow your presentation
  • Learn more about this feature in our knowledge base article

Do you really want to delete this prezi?

Neither you, nor the coeditors you shared it with will be able to recover it again.

DeleteCancel

JDevTools

JDevTools presentation
by

Oleg Nesterov

on 27 May 2013

Comments (0)

Please log in to add your comment.

Report abuse

Transcript of JDevTools

Create a controller
Create a view
Create a model
Create a template
Create an options xml-file
Create a language file JDevTools Google Summer of Code™ 2009 $component = DevTools::_("component","TestComponent","Jonas")
->controller()
->model("item")
->view("item","html")
->tmpl("default"); What is it? It's a set of development tools
which take care of all routine tasks
during your Joomla! extension development. Hm, interesting...
Do I need to know something? WELL... You need to know PHP and a simple JDevTools
scripting language based on PHP PHP Scripts? ? ? Exactly! You use a predefined set of scripts
or write your own like you usually
write your code but answering the question What job do I want someone else to do for me? Examples Sample #1 This will create a simple file within your project $script = DevTools::script()
->msg("This is a test!")
->phpfile("test","testFolder/test1")
->append("Let it be words!"); Sample #2 This will create and install a new component $component = DevTools::_("component","CmpName","AuthorName")
->controller()
->model("item")
->view("item","html")
->tmpl("default"); What else can I do? Setup Setup a component
Setup a module
Setup a plugin
Setup the database Packaging File creation Code Creation Package a component
Package a module
Package a plugin It's like Ant or Phing tasks but for your Joomla specific needs. It doesn't require any specific software or IDE. And actually it's much more... JDevTools provides you a rescue not only on the installaion
stage BUT during the whole extension development process! It's not a secret that you spend a lot of time creating new MVC files
with repeating code! Add a controller boilerplate code
Add a view boilerplate code
Add a model boilerplate code
Create a pagination
Create a getter
Create a list
Create a table
Create an AdminTable list
More to come... Your Custom
Tasks With JDevTools you will be able to create your own scripts
to satifsy your own needs, e.g.:
Create custom MVC files
Package them in components
Execute your scripts when you need them Example, sir? Imagine... that you are an awesome image/video galleries creator. You developed many galleries
for different clients. You gathered some code in order not to repeat yourself and often reuse it
for new orders, because all galleries have common parts and you need just to fit them for each client. But in most cases you have to cut something, delete, rearrange, move to another view, controller,
model, etc. What if you have some prototype for your galleries? It's much more pretty to add some things than to cut or remove them. Isn't it? This is where JDevTools may come to the rescue! Create your own install package with all necessary files for the gallery component 1 2 Create scripts using simple JDevTools scripting language, e.g.:
«Add the gallery list page»
«Add the gallery item details page»
«Add the user edit page»
«Add the model for checking user permissions»
... add whatever else you may need 3 Copy all files for each script and the whole package into the corresponding
JDevTools directory 4 Each time you need to create a new gallery component just execute scripts for installing, packaging, adding new MVC files with necessary code and even the whole pages (e.g. model+view+controller), etc. How does it work? 1. Download the JDevTools to your website root folder. No installation is needed! 2. Call it from your favorite browser: http://your-dev-website.com/jdevtools/ 3. Choose the necessary script and edit it on the fly (if there is a need) 4. Finally execute it and refresh your IDE to see the updates 5. Delete the jdevtools folder on the production for security reasons. You don't need it there any more because your extensions don't depend on it. ... because sharing matters Got some helpful script for solving some particular question? Why not to share it? JDevTools Website Share with others Yes, all these jobs can be automated!
Still not getting it? Click «Next» 6. That is all! The AdminList library More goodies are coming! As an addition to the scripts, JDevTools will also provide and use a library
for making admin tables easier to create. $table = new Table($items,$pagination)
->col("name")->edit()->label("Title")
->col("description")->truncate(50)->label("Description")
->col("user_id")->db("#__users","name")->label("User")
->col("published")->published()
->col("ordering")->order();

<?php echo $this->table ?> — in your template file Features: Different column types (at least text, link, edit link, publish, order, logical and date types)
Inputs for data filtering
Ajax support for the common Joomla! tasks: publish/unpublish, order up/order down, save ordering, filtering, sorting by columns
Quick edit mode to change some data on fly without entering item’s edit page
Integration with JDevTools scripts Project status & future plans Version 1.0 (as a GSoC project): Scripting engine to make it easy to create scripts
Some basic scripts
A very basic version of the AdminList library Version 1... (ASAP) : It takes some time to create a great tool!
Please be patient. JDevTools project website for sharing scripts, downloading packages, etc
Completed scripting engine
Basic scripts for all needs
Full-featured AdminList library JDevTools Thanks for watching! Prepared by Oleg Nesterov Jonas Arnfred
http://community.joomla.org/gsoc2009/jonas-arnfred.html Mentoring by Oleg Nesterov & Ian MacLennan
Full transcript