This document provides an overview of how to manage audio content within ProdigyView's content management system. It describes how to create, search, update, and delete audio content by extending the base content class and utilizing fields specific to audio files. Methods like createAudioContent(), getAudioContentList(), updateAudioContent(), and deleteContent() allow manipulating audio content and its associated audio files in the database.
2. Overview
Objective
Learn how to manipulate audio content of ProdigyView’s built-in content
management system. Also learn how to upload an audio file directly into
the cms.
Requirements
Installed version of ProdigyView with a database
Understanding of base content
Understanding of the DEFINES in ProdigyView
Understanding of FFMPEG from the FFMPEG tutorials
Estimated Time
13 minutes
www.prodigyview.com
3. Follow Along With Code
Example
1. Download a copy of the example code at www.prodigyview.com/source.
2. Install the system in an environment you feel comfortable testing in.
3. Proceed to examples/content/AudioContentWithFileExample.php
www.prodigyview.com
4. What Is Audio Content?
Audio content is content designed to facilitate the storing
and retrieval of audio files. Natively, ProdigyView supports
midi, oga, wav, ra, mp3, and aif files. FFMPEG is required
for conversions. Examples usage of audio content can be:
Independent Artist
Sound Clips
Music Libraries
Audio Books
etc www.prodigyview.com
5. Extends Base Content
Like the other content types, audio content extends base
content. This means it has all the fields that base content
has in addition to the fields that describes an audio file.
Audio Content Fields Base Content Fields
www.prodigyview.com
6. Create Audio Content
Audio content is relatively easy to create. In an array, passed
defined fields into PVContent::createAudioContent method.
1. Define the content that will be stored as audio content
3. Return content id 2. Pass the array to PVContent::createAudioContent
7. Database View
Remember that the audio content utilizes both the base
content and audio content fields. This is accomplished
by joining two tables. Your two tables in the database
should look something like below.
Base Content Database View
Audio Content Database View
8. Audio Content
Fields
The previous slide only showed a
few fields that can be set when
defining audio content. Here is a
complete list of fields that apply only
to the audio content.
www.prodigyview.com
9. Create Audio Content with File
Similar to creating normal audio content, creating audio content
with a file is accomplished through setting arguments correctly.
In the example below, also going to perform a conversion when
the file is copied.
1. Name of the file 2. The location the file currently 3. The size of the file
resides
4. The type of file 5. Make an oga and wav copy 6. Upload into cms
10. Database View
The file will be uploaded will be placed in the PV_Audio folder
and a reference link will be placed in the database. Your database
should look something like this:
1. Auto generated random file name for converted wav file
2. Auto generated random file name for mp3 file
www.prodigyview.com
11. Search for Audio Content
Using the syntax from the PV Standard Search Query, we
can search for content related to audio content on fields for
both base content and audio content.
1. Search based on the passed arguments
2. Pass args into getAudioContentList()
method
3. Returns an array of arrays that
contains the list of audio content
www.prodigyview.com
12. Iterate Through The List
Next we can iterate through the list of audio content to
see the data we just added.
1. Iterate through the base content fields
2. With the automatic joining of the tables, audio
content fields are also returned
13. Retrieving Audio Content
Audio content can also be retrieved directly using the content
id. The data associated with that content id will be returned in
array.
1. Pass in the content id
2. Content is returned in an array
3. Get the values of the array by specifying
the associated index
14. Updating Audio Content
That array contains the information for updating the Audio
content. Simply change a value at an index in the array and
pass it to PVContent::updateAudioContent() method.
Remember the content_id variable is required.
1. Update the audio content’s length
2. Pass the array back to update
15. Deleting Audio Content
The last action to take place is deleting the audio content.
To delete content, we pass the content id into
PVContent::deleteContent method.
All the content types(audio, video, event, etc) use the
PVContent::deleteContent method. Associated files
will be deleted also.
www.prodigyview.com
16. Review
1. Create audio content by passing an array of arguments into
PVContent::createAudioContent()
2. PVContent::createAudioContent() will return the id of the
newly generated Audio content
3. Search for audio content by using the syntax from PV
Standard Search Query and passing those arguments into
PVContent::getAudioContentList()
4. Update content by passing an array of accepted fields in
PVContent::updateAudioContent(). The content_id must
be present for this method to work.
5. Delete Audio content by passing the content_id into
PVContent::deleteContent().
www.prodigyview.com
17. API Reference
For a better understanding of audio content, visit the api
by clicking on the link below.
PVContent
More Tutorials
For more tutorials, please visit:
http://www.prodigyview.com/tutorials
www.prodigyview.com