Zend Framework Job
- or -
Post a project like this4471
£650(approx. $816)
- Posted:
- Proposals: 0
- Remote
- #111441
- Awarded
Description
Experience Level: Expert
I am looking for an experienced PHP developer to assist with a current project, due for delivery on 24th January.
A public facing site is being redeveloped in Wordpress with a new template. There is a booking element to the site, which is hosted on a separate subdomain. The booking site subdomain is built with Zend framework, and it is integrated with an event management system called RUBI - which it updates via remote MSSQL stored procedure calls.
The brief for this project is to update the look and feel of the booking subdomain, using the new markup and assets (all will be provided). There is also the need to feature some of the Wordpress content on the booking site by externally querying the Wordpress database which is used by the main public site.
As the templates differ from the currently live website, there will be a need to slightly amend some of the controllers and views. Wordpress content would be queried by making use of the Wordpress install on the main site.
I can provide a copy of the subdomain Zend framework project and also a PDF of how the new visuals will appear. All new assets, markup are currently in production and will be supplied.
I have been provided a quick primer by the previous developer of the site:
Registration
Form is built using Zend Form and is all processed locally on the server, every time the form is posted to the server the values are saved into a locally hosted MySQL table; these results can be viewed on a page accessible by an administrator.
Once validated (crude validation, mostly checking not null. The validation for jobs is awful (this is due to being required after the site went live) the data is passed to RUBI in a remote mssql stored proc call. I tried to wrap all such calls into utility functions so they could be re-used.
There is an automated jQuery/ZF validation process at work to validate fields onBlur() that I can explain in more detail if needed. It uses the same validators that are used on the form postback so there is no needed to duplicate logic.
Authentication
The site authenticates users against the Rubi database by using a remote mssql proc call that takes a plain text (I think) password and email as parameters. If a match is found then the procedure returns true and I can create the sessions locally. The session I create locally has a special value in it that I can check for in the wordpress functions files that I wrote in order to maintain sessions across the two different 'sites' the booking and the wordpress site.
I think the authentication proc also checks that the membership type is 'Pearls Member' this is were I anticipated we could tie in the annual membership check to see if they were 2011 member or 2012 etc...
Booking
Once authenticated the user visits the page and a proc is called to get all current events via remote mssql call. There is now an additional check here to ensure that the event is available and not fully booked etc...
I then combine this result set with a second call to get currently booked events. Only the events that are available and not already booked are displayed to the user as valid choices.
Once the events are chosen and payment method confirmed the system will make X many individual calls to RUBI via remote mssql calls to book each event in turn.
I would have liked to have wrapped this part into an atomic transaction to avoid the errors we occasionally see like duplicate bookings due to user refresh etc...
Forum
Access to all these type of pages is controlled by use of the special session I create at the authentication stage. If the hash matches then the user is currently logged in and valid. It is therefore safe to show the page, if the session is not found I think I forward them to the join membership page.
The forum is called 'anonymous' and needs to be but actually we know which user did it on the backend, we just don't display it on the front end. The forum is powered by bbpress wordpress plugin. It worked well at the time and allowed easy access to moderate in wordpress back end.
Profile
There is a cache to reduce the load on Rubi for the profile list page. This cache will store the result of several database and RUBI calls into memory in order to reduce the query load time from about 30 seconds and 1000+ calls to under 0.1 seconds at the time I wrote it. Each time a profile is saved or user is added or removed the cache is refreshed, there is also an admin link to manually refresh the cache.
Wordpress
The wordpress authentication is entirely separate from that of RUBI and the only reason access to Wordpress is needed is to modify content on the 'static' website.
A public facing site is being redeveloped in Wordpress with a new template. There is a booking element to the site, which is hosted on a separate subdomain. The booking site subdomain is built with Zend framework, and it is integrated with an event management system called RUBI - which it updates via remote MSSQL stored procedure calls.
The brief for this project is to update the look and feel of the booking subdomain, using the new markup and assets (all will be provided). There is also the need to feature some of the Wordpress content on the booking site by externally querying the Wordpress database which is used by the main public site.
As the templates differ from the currently live website, there will be a need to slightly amend some of the controllers and views. Wordpress content would be queried by making use of the Wordpress install on the main site.
I can provide a copy of the subdomain Zend framework project and also a PDF of how the new visuals will appear. All new assets, markup are currently in production and will be supplied.
I have been provided a quick primer by the previous developer of the site:
Registration
Form is built using Zend Form and is all processed locally on the server, every time the form is posted to the server the values are saved into a locally hosted MySQL table; these results can be viewed on a page accessible by an administrator.
Once validated (crude validation, mostly checking not null. The validation for jobs is awful (this is due to being required after the site went live) the data is passed to RUBI in a remote mssql stored proc call. I tried to wrap all such calls into utility functions so they could be re-used.
There is an automated jQuery/ZF validation process at work to validate fields onBlur() that I can explain in more detail if needed. It uses the same validators that are used on the form postback so there is no needed to duplicate logic.
Authentication
The site authenticates users against the Rubi database by using a remote mssql proc call that takes a plain text (I think) password and email as parameters. If a match is found then the procedure returns true and I can create the sessions locally. The session I create locally has a special value in it that I can check for in the wordpress functions files that I wrote in order to maintain sessions across the two different 'sites' the booking and the wordpress site.
I think the authentication proc also checks that the membership type is 'Pearls Member' this is were I anticipated we could tie in the annual membership check to see if they were 2011 member or 2012 etc...
Booking
Once authenticated the user visits the page and a proc is called to get all current events via remote mssql call. There is now an additional check here to ensure that the event is available and not fully booked etc...
I then combine this result set with a second call to get currently booked events. Only the events that are available and not already booked are displayed to the user as valid choices.
Once the events are chosen and payment method confirmed the system will make X many individual calls to RUBI via remote mssql calls to book each event in turn.
I would have liked to have wrapped this part into an atomic transaction to avoid the errors we occasionally see like duplicate bookings due to user refresh etc...
Forum
Access to all these type of pages is controlled by use of the special session I create at the authentication stage. If the hash matches then the user is currently logged in and valid. It is therefore safe to show the page, if the session is not found I think I forward them to the join membership page.
The forum is called 'anonymous' and needs to be but actually we know which user did it on the backend, we just don't display it on the front end. The forum is powered by bbpress wordpress plugin. It worked well at the time and allowed easy access to moderate in wordpress back end.
Profile
There is a cache to reduce the load on Rubi for the profile list page. This cache will store the result of several database and RUBI calls into memory in order to reduce the query load time from about 30 seconds and 1000+ calls to under 0.1 seconds at the time I wrote it. Each time a profile is saved or user is added or removed the cache is refreshed, there is also an admin link to manually refresh the cache.
Wordpress
The wordpress authentication is entirely separate from that of RUBI and the only reason access to Wordpress is needed is to modify content on the 'static' website.
Richard H.
100% (4)Projects Completed
9
Freelancers worked with
8
Projects awarded
59%
Last project
6 Mar 2014
United Kingdom
New Proposal
Login to your account and send a proposal now to get this project.
Log inClarification Board Ask a Question
-
There are no clarification messages.
We collect cookies to enable the proper functioning and security of our website, and to enhance your experience. By clicking on 'Accept All Cookies', you consent to the use of these cookies. You can change your 'Cookies Settings' at any time. For more information, please read ourCookie Policy
Cookie Settings
Accept All Cookies