Author: Michael J. Fuhrman
Viewers: 10
Last month viewers: 5
Package: Appointment Calendar
One last design consideration for building an application is how the files are laid out on the web server. This post will provide you with a suggested layout, discuss a few some follow up thoughts, and then answer questions that arose during the development of this series.
Welcome back to the seventh part of "Creating an Appointment Calendar". The previous post concluded by adding the ability to sort Appointment Items. One last design consideration for building an application is how the files are laid out on the web server. This post will provide you with a suggested layout, discuss a few some follow up thoughts, and then answer questions that arose during the development of this series.
13. Directory Layout
====================================
The directory layout provided below is suggested for use when reviewing the code provided:
Development
|- Appointments
|...|- Install.php
|...|- CreateFolder.php
|...|
|...|- List.php
|...|- New.php
|...|- Add.php
|...|- Edit.php
|...|- Update.php
|...|- View.php
|...|- Delete.php
|
|- Shared
|...|- _app.inc
|...|- Install_Functions.inc
|...|- Functions.inc
|...|
|...|- Classes
|...|...|-ENetArch
|...|...|...|- Ladder
|...|...|...|...|- [... Ladder Files ...]
|...|...|...|
|...|...|...|-Common
|...|...|...|...|- Appointment.cls
|...|...|...|...|- Appointments.cls
|...|
|...|- Panels
|...|...|-ENetArch_Common
|...|...|...|- List
|...|...|...|...|- List.cls
|...|...|...|
|...|...|...|- Appointment
|...|...|...|...|- Times.cls
|...|...|...|...|- Edit.cls
|...|...|...|...|- View.cls
|...|...|...|
|...|...|...|- Appointments
|...|...|...|...|- List.cls
14. Review & Follow up.
===============================
Hopefully this piece has accomplished its goals: To demonstrate how to use Ladder to create an Appointment Calendar; To provide readers with a clear understanding of how to build a simple application using reusable components based on Ladder’s data management capabilities.
Building this piece was very powerful. While demonstrating how to use Ladder, it also outlines the projects development, its purpose, requirements, design, and implementation. What is missing is the maintenance and testing. Based on what has been provided the reader can build these two portions.
This piece enforced a master’s level in building a logical methodology to defend the decisions made and the directions taken. While the reader may or may not agree with the decisions, the reader can review the decisions and build arguments of their own. It is also suggested that the reader review other methods of creating reusable components and object oriented data maintenance layers to determine which will best fit their project.
Following are a series of questions and answers that may provide additional clarity into the decisions made.
15: FAQs
===============================
Q: Why write this piece?
A: Beyond building the piece to demonstrate Ladder’s functionality, this piece was written to build a template that can be reused, and demonstrate that reusable components can be designed to function with Ladder, and suggest a methodology in which to build larger applications on Ladder.
Q: Why put so much overhead into a simple application?
A: To build larger applications based on new technology requires a methodology to break the application down into smaller reusable components. New Technology raises many questions, pitfalls, and risks in such developments. In order to avoid these risks, demonstrations provide a design path that achieves success. So while the cost to small applications may be excessive, the cost to a larger application’s is minimal.
Q: Why not use the latest features of PHP?
A: As explained in the post many web servers don’t support the latest versions of PHP. In addition, there is a risk to using the newest technology which is often unproven, vs a known technology. So in using previous versions of PHP which have been tested by many programmers.
Q: Why do you revert to SQL when sorting Appointment Items?
A: While the Ladder Data Management Layer does provide a significant amount of abstraction, there are holes in it that would be very costly to plug at this time. Costly in the amount of memory and speed it would take to convert the filter arguments back to SQL.
===============================
/* =======================================
Copyright 1998 - 2010 - E Net Arch
This program is distributed under the terms of the GNU
General Public License (or the Lesser GPL).
======================================= */
13. Directory Layout
====================================
The directory layout provided below is suggested for use when reviewing the code provided:
Development
|- Appointments
|...|- Install.php
|...|- CreateFolder.php
|...|
|...|- List.php
|...|- New.php
|...|- Add.php
|...|- Edit.php
|...|- Update.php
|...|- View.php
|...|- Delete.php
|
|- Shared
|...|- _app.inc
|...|- Install_Functions.inc
|...|- Functions.inc
|...|
|...|- Classes
|...|...|-ENetArch
|...|...|...|- Ladder
|...|...|...|...|- [... Ladder Files ...]
|...|...|...|
|...|...|...|-Common
|...|...|...|...|- Appointment.cls
|...|...|...|...|- Appointments.cls
|...|
|...|- Panels
|...|...|-ENetArch_Common
|...|...|...|- List
|...|...|...|...|- List.cls
|...|...|...|
|...|...|...|- Appointment
|...|...|...|...|- Times.cls
|...|...|...|...|- Edit.cls
|...|...|...|...|- View.cls
|...|...|...|
|...|...|...|- Appointments
|...|...|...|...|- List.cls
14. Review & Follow up.
===============================
Hopefully this piece has accomplished its goals: To demonstrate how to use Ladder to create an Appointment Calendar; To provide readers with a clear understanding of how to build a simple application using reusable components based on Ladder’s data management capabilities.
Building this piece was very powerful. While demonstrating how to use Ladder, it also outlines the projects development, its purpose, requirements, design, and implementation. What is missing is the maintenance and testing. Based on what has been provided the reader can build these two portions.
This piece enforced a master’s level in building a logical methodology to defend the decisions made and the directions taken. While the reader may or may not agree with the decisions, the reader can review the decisions and build arguments of their own. It is also suggested that the reader review other methods of creating reusable components and object oriented data maintenance layers to determine which will best fit their project.
Following are a series of questions and answers that may provide additional clarity into the decisions made.
15: FAQs
===============================
Q: Why write this piece?
A: Beyond building the piece to demonstrate Ladder’s functionality, this piece was written to build a template that can be reused, and demonstrate that reusable components can be designed to function with Ladder, and suggest a methodology in which to build larger applications on Ladder.
Q: Why put so much overhead into a simple application?
A: To build larger applications based on new technology requires a methodology to break the application down into smaller reusable components. New Technology raises many questions, pitfalls, and risks in such developments. In order to avoid these risks, demonstrations provide a design path that achieves success. So while the cost to small applications may be excessive, the cost to a larger application’s is minimal.
Q: Why not use the latest features of PHP?
A: As explained in the post many web servers don’t support the latest versions of PHP. In addition, there is a risk to using the newest technology which is often unproven, vs a known technology. So in using previous versions of PHP which have been tested by many programmers.
Q: Why do you revert to SQL when sorting Appointment Items?
A: While the Ladder Data Management Layer does provide a significant amount of abstraction, there are holes in it that would be very costly to plug at this time. Costly in the amount of memory and speed it would take to convert the filter arguments back to SQL.
===============================
/* =======================================
Copyright 1998 - 2010 - E Net Arch
This program is distributed under the terms of the GNU
General Public License (or the Lesser GPL).
======================================= */
You need to be a registered user or login to post a comment
Login Immediately with your account on:
Comments:
No comments were submitted yet.