Day 55 - Audio and Video Content Management and Fatigue
The two tutorials posted today were the last ones on the CMS in ProdigyView. As the title suggests, the focus was on audio and video content management. Similar to file and image content management, files can be placed directly into the CMS. How they differ from image and file content is the conversion and saving of multiple formats.
The audio and video and content was designed to work with HTML5. But that poses a problem because not every format works with the HTML5 audio/video tags This means you at least need three formats. For instance, for video you need mp4, ogv, and webm to cover majority of browsers. Instead of making a row in the database to store each format of the same video, it would be easier to place them all in one. After all, its the same video. Long story short, the user places an audio/video into the cms and the cms will use ProdigyView’s audio/video conversion tools to automatically convert a video to different formats. Easy and useful feature.
On the side note, Day 55 thats only 5 days left. But its going to be a long and hard 5 days. I should be releasing two tutorials everyday from here on until the 60th day, maybe sometimes three. The tough part is I’m mentally fatiguing at this point. I’ve seemed to have lost sight why I am doing it which can make it difficult to continue at times. But I hate to give up.
Just stopping and walking away would be the easy way out. If I did would anyone care? Would the impact be felt? Would it cause some starving kid in a 3rd world country to die?Probably not. But beyond how it looks from everyone else’s perspective, they turn off their computers or close their browsers and the only person still stuck with me is me. I’ve quit before on things, and it doesn’t feel good. And if I just walk way I will never know what the outcome was: for better or for worst. So the correct path seems to be just to keep going forward and let come what may. Maybe that was too personal of a post….
Anyway, tomorrow I will be putting out ProdigyView 1.5.3 . Get ready for some MongoDB updates, some really cool image manipulation updates, authorization and other tweaks. I think the most exciting thing will be the changes to the PVImage class. We will be getting into things like created animated GIFs. But for today’s tutorials.
Audio Content: http://www.prodigyview.com/tutorials/slideshare/401/113
Video Content: http://www.prodigyview.com/tutorials/slideshare/402/113
Day 54 - Image and File Content Management
I want to say that I predicted the tutorial on file content management would have more hits than the tutorial on image content management. The file management has 303 views as of 8:17 and is climbing while the image one is only at a measly 28. But I am not sure why since I find image content management more useful and more likely to be used.
Without going to in depth, the file content is for managing any type of file while the image content is for managing files explicitly for images. The remaining tutorials on the cms will have the feature of adding associated files directly into the CMS when creating or updating the content. How does this work?
If you not familiar with the DEFINES, they are a set of constants in ProdigyView that create the file structure of the framework. There was a whole tutorial on them here. Now with the DEFINES, there are 4 of them for media: PV_FILE, PV_IMAGE, PV_AUDIO, PV_VIDEO. I tried to develop this as obviously as possible. All file content that is not related to an image, audio or video file should go in the file directory associated with PV_FILE. So your uploaded zip files go in there. All image related files (jpeg, png, gif, etc) should go in the directory associated with the PV_IMAGE.
Now when a file is uploaded directly into the cms, the cms will place that file accordingly with the defines. So PVContent::createImageContentWithFile method will take the image file, give it a unique name, and place in the PV_IMAGE folder. This takes away some development time needed for placing and associating images or any other file content. The file path is also relative, so if you ever change your server all file structure, your uploaded files will not be affected. Again, this is designed for quick and easy management of all types of content but should be tweaked when using in production. Tomorrow will be the tutorials for audio and video files.
File Content Management: http://www.prodigyview.com/tutorials/slideshare/399/113
Image Content Management: http://www.prodigyview.com/tutorials/slideshare/400/113
Day 53 - Ecommerce and Text Content Management
Today, and mostly here on out until day 60, was a dual day in tutorials. The first tutorial was text content. Text content was made for supporting documents that are primarily text based. Examples are blogs,documents, even making your own Twitter service, etc.
The second tutorial was a little more of a useful topic, product content which can also be known as e-commerce. Like the name suggest, this content describes products to be sold to a customer.
Text Content: http://www.prodigyview.com/tutorials/slideshare/397/113
E-Commerce Tutorial: http://www.prodigyview.com/tutorials/slideshare/398/113
Day 52 - CMS Event Content and Opening Up Your Perception To New Ideas
Extending from yesterday’s tutorial on base content from the content management system, today’s tutorial was on the event content. Event content is any data that can be used describe an event. This will give you access to fields such as:
- Start Time
- End Time
- Contact Person
Normal usage of event content will be for things such as parties, shows, weddings, meetings, etc. But I want to take a second and try to expand the way one thinks to see things in a new light. Take a second and forget about the fact that it’s called ”event content” and remember that we do not have to use every field. And the possibilites should start to open up.
Example: We have address, city, state, zip and contact person to work with. Hmmm, maybe with those fields we could create an address book, and that is not related to an event. Take another second and we can add longitude and latitude. We could map out the stores in town or city and coordinate with google maps. With the country field we can take this global and none of that had anything to do with an event. Sweet!
My point is just because field has a certain name or the method is called createEventContent, the data in those fields do not have to be associated with an event. It can be anything that you wish it to be.
Event Content - http://www.prodigyview.com/tutorials/slideshare/396/113
Day 51 - Base Content of the CMS
The tutorial posted today was the beginning of talking about the heart of the content management system in ProdigyView, base content.
Base content can be considered the root from where all content is born. It contains basic fields such as content title, description, language, date created, date modified, and many more. Like the name suggest, the point of these fields is to provide the base for other content types.
We have video content which contains fields only for mp4, avi, webm, ogv, rm and mpeg files. The problem is, there is no meta information describing the video content. To solve that problem we can combine the base content and the video content and we have a wonderful blend of data on the video files and meta data to describe the video files.
Throughout the week we will cover content management for audio, video, event, product(e-commerce) file and text content, but today we are starting with the basics.
Base Content: http://www.prodigyview.com/tutorials/slideshare/395/113
Day 47 - User Relationships
The posted today was on user’s relationships <3.
I mean a relationship as a way of relating two user together based on a common entity. As you read through the tutorial think of relationships not only as friends but users being able to have multiple kinds of relationships. For example, users can be friends, co-workers and also school mates.
When building a social site, those connections also be to distinguish was type of relationships are able to view certain content. Only share this picture with users who are family. In other words, you basically have a way of setting up a social setting similar to Google’s circle. Always remember to think outside the box when programming and the possibilities will be endless.
User Relationships: http://www.prodigyview.com/tutorials/slideshare/389/111
Day 45 - User Management (Part of the CMS) and Understanding Proof of Concept
Finally, we are getting to some of the database tied parts of ProdigyView. I think enough of the other features have been talked about to make the upcoming parts of the framework more usable.
One of the ProdigyView coolest features is the built in cms(content management system). The purpose of the cms is to quicky build a prototype of the of a concept to show to decision makers and stakeholders. This could mean your boss, investors, etc. After a prototype has been approved, then you can go back and build the product in a way that is more fitting towards the environment.
The reason why I say use the CMS and its features as a prototype is because it has many features and fields that you do not need. An axample is the video content of the content management system. The video content has fields for ogv, wemb, mp4, ra, mov, avi, fla and others. You may not normally need all these fields and having all these fields can increase the size of your database. So quickly build a video site with the CMS to show as a prototype or proof of concept, then go back and do it the right way.
In some cases, you might want to build a site using the cms and all it’s features. If you choose to use the CMS as your system, remember to fine tune the database for scaling. An example could be indexing important fields that you use.
Today’s tutorial was on user management. This involves creating, updating, searching, and deleting users. It requires that you have installed ProdigyView with a database connection.
User Management Basics: http://www.prodigyview.com/tutorials/slideshare/387/111
We will get into further tutorials about creating user relationships, user roles, and custom fields.