Best approach to start developing a package

Permalink 1 user found helpful
Though I have 25 years experience with Delphi and PHP, MVC development is new though understandable in concept. My challenge is learning the contents in the libraries (e.g. classes, methods and properties) and their implementation.

For my first project, I would like to create a couple of HTML reports on Members using the script, search_results_export.php, as a core for design. To this I would need to implement sorting by field, selection by group and selection of the fields to include...all straight forward properties in regular PHP. Has anyone written a primer on development that could be of assistance?

Lastly, I want to express my appreciation for all of the work in the design of C% including the design...WELL DONE! My client loves the website:http://www.greaterbendrotary.com

Todd

rtcary
 
JohntheFish replied on at Permalink Reply
JohntheFish
Pick something really simple to get started with. Use it to learn. Then do your real development.

For example, I started concrete5 package development with a requirement for 'Zone Based Shipping'. That was a complex package of software, so rather than develop it straight off, I began with 'Last Updated', a simple free package. I used that to make mistakes and learn, throwing away a few false starts along the way, then applied what I had learned to developing the Zone Based Shipping module.

With a few years more experience of concrete5, if I was starting from scratch now, there are many more things I would do differently. However, because I got much of my basic learning out of the way with Last Updated, Zone Based Shipping is still working well and still sufficiently well structured that I can maintain it and update it.
rtcary replied on at Permalink Reply
rtcary
John -

Thank you for taking the time to respond. Your approach to "learning" is actually the one that works best for me. Many years ago, I named it "Spiral Learning". A couple of my programming friends can sit down and read the manual from cover to cover, committing it all to quick recall memory. For me, I have to start with something that has meaning...fulfilling an actual task and spiral out from there.

My area of interest is Database since it is what I do professionally (handle class action lawsuits for an Administrator). Therefore, I would like to start with my version of a "Hello World": view the list of members...in any order or form. Do you have a suggestion for a starting point?

Many thanks...

Todd
JohntheFish replied on at Permalink Reply
JohntheFish
For block development, the best way to learn the basics is to look at what designer content does and read the docs and howtos.

For packages, have a look at one of the free starting point packages in the marketplace. They are designed to show examples of everything you may want to do in a package controller.

There are already several addons capable of listing members. A requirement I recently ran into was for a search block that searches both pages and files to provide a combined listing. That could be quite a good database challenge that as far as I know has not yet been addressed in an addon package. (Someone will now post correcting me on that :) ).

It would also provide a learning opportunity to inherit from an existing block controller.
rtcary replied on at Permalink Reply
rtcary
As clarification, the area my client is requesting are various HTML reports in preset formats based on different queries against the User/Member DB. So *ANY* starting point in the User DB arena would be of help. I'll look around the "starting point packages".

Todd