General Notes/Specifications for Content and Member Management System This is a specification for a CMS, written in PHP, which allows upload, resizing, and management of pictures, the placement of those pictures into HTML templates, and the automatic generation of static HTML pages for the entire website and individual pages for additional photo sets as the site is updated. It must also maintain an archive of all changes made to the site, including archives of pages changed. It must be flexible enough to be modified to be separately installed on separate sites. The system must be written in a fully modular, well-organized fashion, fully documented within the internal PHP code so that another coder later working on the system can figure out what has been done in order to modify and change. Because of the complexity of the application, the coder must agree to provide bug fixes without additional cost for any problems discovered within 120 days of approval of the application. WE STRONGLY PREFER A US-BASED CODER, PREFERABLY ONE LOCATED ON THE WEST COAST. You should have extensive PHP experience with references, and preferably some experience developing similar applications. Overall features/needs/functions In some cases, references to existing pages are made. The coder can refer to [url removed, login to view] to see the existing pages referred to. No graphic design work is expected as part of this bid, other than the ability to modify existing HTML templates designed for this project to plug in the proper photos and/or text required. All of these interior pages can be viewed in rough form at [url removed, login to view] Statistics: Reports on how often a given photo set or video was viewed, which users viewed which sets, time spent/sets viewed. Please bid ONLY after reading the entire specifications and being clear on what we want. Feel free to ask if you have any questions or need clarifications. Thanks much!! See below for specifics.
1) Complete and fully-functional working program(s) in executable form as well as complete source code of all work done.
2) Deliverables must be in ready-to-run condition, as follows (depending on the nature of the deliverables):
a) For web sites or other server-side deliverables intended to only ever exist in one place in the Buyer's environment--Deliverables must be installed by the Seller in ready-to-run condition in the Buyer's environment.
b) All deliverables will be considered "work made for hire" under U.S. Copyright law. Buyer will receive exclusive and complete copyrights to all work purchased. (No GPL, GNU, 3rd party components, etc. unless all copyright ramifications are explained AND AGREED TO by the buyer on the site per the coder's Seller Legal Agreement).
Specific CMS features/functions: Content Management/Updating Adding/modifying a model: a. Create a new model record b. Enter/upload model’s bio/personal info c. Enter and appropriately size photos to fit template d. Functions to modify or deactivate a model’s profile/info e. Update “Our Models?? page inside and outside site (allowing for multiple models in photoset or video) f. Create “model bio?? page if it doesn’t exist or update it with new pic set if it does, and either import a text file to plug in to the bio page or allow data input g. Create “Photo Shoots For this model?? page or add on shoot to existing page h. A version of g and h (missing some info) that is available on the outside of the site) Adding New photo sets/video sets a. Upload sets of pics and thumbnails (or it could create the thumbs) or videos b. Attach sets that include a given model to his/her record so they appear together c. Pick default thumbnail for the set or allow user to choose display thumbnail d. Match videos and stills from the same shoot using the shoot ID # (see appx a) e. Rename files in keeping with content organization scheme (see appx a) f. Update a master cross-reference database that links to 2257 data (see appx b) g. Set a “date to go live?? today or in the future h. Allow some level of manual changing/removing/updating of individual pics in sets i. Allow entry of DVDs available for sale that include model, other sites model is on j. Maybe emails to model (sent somewhere for review first before being forwarded) Editing/updating content: a. Ability to temporarily or permanently deactivate a photoset, video, or model (meaning, all sets containing a model) b. Adding, activating, deactivating or deleting a photoset or video updates a master archive file with dates of changes, copies of page before/after change. c. Ability to edit/update bio/model info page, select/change pics used on bio page Site automation functions: Site exterior: Index page: We’ll have one section for “latest update?? on the first index page, dynamically updated with a pic and maybe couple lines of bio info and so forth. “our models?? section This should be a static page (or pages) dynamically updated any time a change is made (content added, updated, or removed) to the database. Similar in appearance to the current “our models?? page ??Photo and video sets?? section This should be a group of static pages dynamically updated when a change is made to the database. It can list each photo/video set, should group video and stills from the same session together. “model bio/information?? pages This should be a static page for each model, abbreviated version of the bio page appended with listing of each photo/video shoot for each model “signup?? page This will collect user’s full name, address, username, password, email address, and “preferred nickname?? (what they want to be called for personalization in the site.) It will also have several fields, one to offer a “bonus?? of a free newsletter subscription with free pictures, and two others we haven’t quite defined yet, plus the signup options. We will store all of the user information in our database (plus, perhaps, something to try and match to see if they’ve signed up in the past, and some rudimentary tests to determine if the email address is valid) and then we will pass all of the name/address/username/password variables to ccbill’s signup form. (Once we switch to cascading billing, the signup page will pass the variables to the NATS cascading billing system.) “customer service?? page It would be nice if the user could enter an email address or username and based on that, be referred to the correct biller (Paycom, CCBill, Electracash, etc) based on who they used to sign up. Only problem is, I don’t see how we will know what biller processed their join, as NATS will automatically cascade them from the first biller to the second and so on, until somebody approves them. Perhaps something in NATS will pass this variable back to us. Interior of site: First-time member page The first time someone logs in after joining, it should present a “thanks for joining, here’s some info to help you get started?? page. This page should be customized with the user’s preferred name and perhaps, if they get a free video or something with their membership deal, a link to order their free video, or their free membership, or their free pay-per-view minutes, or whatever. Interior index page Once they are past the “first time?? page, it should take them to a default “browse by model?? page similar to the “our boys?? page on the site exterior, which links to more detailed page with whatever shoots (video and still) are available for that model, and bio info (this might be all on one page, or it might be split bio on one page, photo shoots on another.) There needs to be a search/sort function as well (I can show you a somewhat inelegant implementation of this, but I’ll be looking at others too) and there should probably be an option to browse photo and video sets based on sort order rather than by model. Returning visitor index page After their first visit to the site, it would be ubercool if, on their next visit, it looks to see if an update has been activated since their last visit and, if so, adds a box or something at the top of the main member index page saying “Look what’s new since you last visited?? and has a couple thumbnails (and, if it’s been a month since last visit, maybe a link to a page with updates) There should also be a small box with news (or maybe this is one box, not sure) It might be cool to offer a “my favorites?? or “my most recently viewed?? models if it’s not too complex to do this. Model view page: I think that we can do something sorta simple as far as the layout, where the bio and general info appears at the top of the page, with added-on section for each photo shoot/video segment the model appears in , sortable by the user using various keywords or search patterns (see sample pages) It would be ubercool if the bio pic could rotate several different pics we chose for the purpose, otherwise perhaps a big selected pic and several smaller ones they could mouse over or click on to see full size Chronological updates page: A static, but dynamically updated page that shows each update as it’s added News page: This should have news items, which could include a one-line (and pic) description of updates, plus notes from us about site feature updates, new video releases, new sites, special renewal bonuses, etc. Set view pages: PHP-generated pages(we supply basic HTML) with thumbnails of photo sets that allow viewing of the full sets. Templates for video viewing Appropriate webmaster control panel features and functions to use the CMS and HTML generator tools efficiently. Some other features/functions required, so this spec is not absolutely complete, but we're reasonable and will work with you if our requests go outside the scope of this document. 9/17 11pm PT: I have added specification documents which are basically everything specified above but in a better formatted document.
This will run on a Red Hat Enterprise 3 server with standard web server applications (Apache, etc) and ImageMagic.