Basic Assignments
 
Options & Settings
 
Main Time Information
Color Code: Yellow
Created By: Shannon Scoffield
Created Date/Time: 5/19/2014 5:00 pm
 
Action Status: Blank (new)
Show On The Web: Yes - (public)
 
Time Id: 2194
Template/Type: Other Documentation
Title/Caption: Brainstorming Adding the adilas Content Management Server
Start Date: 3/21/2011
Main Status: Active

click to enlarge - photo by: Shannon Scoffield -
click to enlarge - photo by: Shannon Scoffield -
click to enlarge - photo by: Shannon Scoffield -
click to enlarge - photo by: Shannon Scoffield -
click to enlarge - photo by: Shannon Scoffield -
click to enlarge - photo by: Shannon Scoffield -
click to enlarge - photo by: Shannon Scoffield -
 
 


Notes:
Adding the adilas Content Management Server
Spanning from March 21, 2011 – August 6, 2012
Adding the adilas Content Management Server
(Sketches: see photo gallery)
Content – main – web services – university
Needs & Wants:
1. I will have at least three servers that may need to get content from the new adilas content management server.
2. Things are separated in order to help each section focus on the task at hand. Main is for working, content is for content and photos, university is for training, and web services is for customer sites and inventory (eCommerce).
3. Currently we have a mix of CF7, CF8, & CF9. That may need to be standardized.
4. All of the systems need to be able to talk to each other.
5. There are currently three different content sizes: (for the Images)
o Thumbnail – 29x22 (ish)
o Small – 160x120 (ish)
o Large – 640x480 (ish)
6. I know that I want to store the big or large photo in the database. What about the smaller image? I’m going to say overkill for now. Just do the big image. This is a known security hole but I’m willing to leave the smaller images as free standing images.
7. Security is a big issue. I want to make is as secure as possible. A couple of ideas might be: a daily password (stored in a database), a daily date password, an encrypted corp-id and/or corp-key, encrypt the user id, check for permissions, have the big photo page look-up data instead of just showing passed in data. Hash and encrypt where needed. Maybe look-up logs on either side of the fence… play pass back and forth.
8. The remote server will need corp, payee, permissions, and photo info.
9. Stock and part # photos are needed on the web services server. These need to be visible by the general public.
10. My cart favorites (photo buttons) need to be local to the main adilas.biz server. This could make it a bit more challenging. Maybe don’t even put these images on the content server… maybe leave these where they are… not sure on this…
11. I will need Crystal Tech’s help in migrating images from old server to the new server.
12. We need to create a clean-up function that runs every night to check the temporary directories. Maybe every hour. We don’t want raw content sitting out there open to anybody.
13. What about check request pages… these files use the big photos and may have multiple images per page. Luckily, these pages are not used by tons of corporations. We might get away with showing the smaller (medium) sized files and allowing a click through if needed to the big files.
14. What about gallery pages? What about thumbnails? What about photo reports? Where does the data get pulled from? I would say the main.
15. When creating a new corp – we need to make sure that the correct folders and files have been copied on the content server. These servers need to be matched up and synced together.
16. Add other galleries (time, deposits, vendor/user) (bank, location, corporation, extra…)
17. Make a default image for MS Excel, MS Word, pdf, gif, video, etc. This needs to be a choice when uploading as well. It might also be determined on the server-side after a valid upload. Lean towards server-side categories.
18. See elements of time
19. Maybe start playing with WDDX (XML) files for passing data back and forth. See old CF books for info.
Content Management & Content Server
- It might be cool to see an upload status or graphic that says uploading… JQuery style
- It might also be cool to help the users tune up their scanners and cameras to make faster downloads. Help the people.
- On the current thumbnails, take off the height attribute and re-do all thumbnails. This allows for square, portrait, and landscape images to be used. Currently all thumbnails are forced to landscape and fixed height and width.
- Set application vars for the content server. That way we could add more or duplicate our code without having to search for certain URLs over and over again.
- Show the new image once uploaded.
- Show the main id number on the photo action page. Ex: E/R #, Invoice #, PO #, BSI #, etc.
- Show the compression levels and stats. Do some math for the users – once again try to help them.
- Limit to 2.5 or 3.0 MB on the upload size.
- Check the remote server before trying to go there… quick ping, if unavailable, make a soft response.
- We may need to limit certain file types… code, web, java script, SQL, etc. We want it open but not too “loose”.
- Check for a possible bug with small file names or unknown formats and characters. Prompt users to change file names and submit again.
- Bounce back and forth between servers as if they were the same server. Try to make it seamless.
- What about virus protections? What do we do about that? Does that really matter? How would it affect us? What are the other possible threats?
- Make sure, that if an edit is done, that all files, including the thumbnail get replaced. We may also need to prompt the user for a page refresh (to help the users). Ended up using a time code to force the refresh.
- On uploaded content… record the original file size. Maybe even implement a report that shows violators and/or warns the user if they go over a certain amount of big files.
- Help the user understand about images, sizes, resolutions, and compression stuff – help to educate them along the way.
- Plays pass back and forth… if something doesn’t get passed successfully, leave it hanging and pick it up on the next go around. Basically, an update flag and date… if not updated, then do the update later… keep both sets of data in sync as much as possible. Or just have one master…
- What are the human elements? Time? Complexity? Processes?
- We may need to use a flash uploader widget. This helps us determine size before the upload. It also shows upload status.
- Our goal is to free up the main server. Don’t make it work too hard to make this new connection. The goal is to be modular.
- One of the goals is storing the content. That way, the user has to use the system to get it out. We want to block (limit) direct access. Along with this… do we want to record who views the files and when. This would be hidden 9for now). Content access log…
- Do we want to record a history note when a photo is added or edited to an item? Currently, nothing is recorded.
- What do our users want? How can we help them?
o Upload multiple
o Quick & easy
o Real thumbnail of their non-image content (way too hard currently with my knowledge)
o They may want their data at some point for their own back-up or when terminating service.
o Add more counters to let me know what to expect or what I have.
o Maybe a break-down graphic or chart of what I have stored.
- What about data retrieval? If I write a file to the server… How do I get rid of it? Does this create a problem?
- Make sure and have a re-route index.cfm page in all remote folders. I don’t want any browsing of full directories or folders.
- Changes need to be made to the web services server (customer sites)… The images need to point to the right place. We also need to change the documentation around a bit (on the customer web side).
- Get in there and get dirty… roll-up your sleeves and get to work.
Things to do or research:
- Set up pings between both servers – standard web services.
- Set up timeouts for both sides. This deals with the other server not responding or an error of some kind.
- Force to SSC on the content server.
- Figure out how to limit the upload size to 3 MB.
- Figure out how to limit or figure out the file type.
- Once uploaded, we need to store in the database.
- Once stored… How do we rebuild and restore to original.
- What is the share process (sync data) between servers?
- What are the clean-up procedures?
Adilas Content Server & Flow
Quick copy of notes form mini notebook on 8/2/12
- You always start from the main. From there you get the who and the what.
- Once you know the what, you need to check to see if the other player is ready.
- If yes, pass to the other player. If no, show a soft error message. Help the people understand the logic.
- The main needs to pass all of the key pieces. They may be hidden, scrambled, or otherwise… but they need to be there.
- Do everything on the remote side and then either pass back to the main or prompt for more actions. This may keep the user in the content loop or release them at any time.
- Record as soon as actions happen and then flag if both sides match. Check for mismatches and try to keep things in sync.
- If the remote server can’t validate something… Help the user get back to where they are working.
- Maybe it would help to list out tasks and then go through each one.
o Add new content
o Edit old content
o General update (non-content related)
o Retrieve and restore content
o Sync or check for matching data
o Global updates
o My cart favorites
- Try to keep it seamless and natural.
- Each corporation needs their own database table for their actual content.
- The goal is to transfer the load first. Then once it is transferred, then further develop the flow and functionality. Keep it simple at first.
- There is a hidden photo function dealing with resetting the first stock/unit number. See update New Stock Number method in cfc/assets.cfc.