Skip to content
This repository has been archived by the owner on May 30, 2019. It is now read-only.

Commit

Permalink
part of my initial commit.
Browse files Browse the repository at this point in the history
  • Loading branch information
japharl committed Jul 22, 2012
1 parent e27bded commit 1b289db
Show file tree
Hide file tree
Showing 3 changed files with 208 additions and 0 deletions.
109 changes: 109 additions & 0 deletions INSTALL
@@ -0,0 +1,109 @@
DC PM Podcasting Software Install Document.

DC PM Podcasting software requires a lot of perl modules, ubuntu software pacakages, and some software installed from source.

First install these Ubuntu Packages (YMMV with other distros):
(sudo apt-get install (package))
mysql-server # make a note of the root password & update it later in the script... We will assume for now that you choose the password : password, but please consider using something more secure.
zbar-tools
rsync
boa
flite
lame
libimlib2
libimlib2-dev

Uninstall this Ubuntu package, if you have it installed:
(sudo apt-get purge sox)
sox

These are perl modules that are required, and are core parts of perl:

strict
CGI
File::Copy
File::Find

Other modules
(installed via sudo perl -MCPAN -e shell ; then install [Module name] )

File::Path
Image::Dot
MP3::ID3v1Tag
Net::Address::IP::Local
Net::VNC
Proc::Background
URL::Encode
URI::Escape

Install from source (not the Ubuntu package sox):
Browse here: http://sourceforge.net/projects/sox/?source=directory
Then click on the download link...

Now, extract the www.tar and main.tar.
Extract main.tar in root's directory. (Or in your directory, but you will need to use sudo and edit the config file appropriately.)
Extract www.tar in /var/www

In /root/ , edit config.ini
vi config.ini

Update:
[main] - Root directory for code (recommended /root ).
[Mysql] - username & password.
[record] - If you are using your built in audio connections, remove -D hw:1,0. If you are using an external usb audio controler, which we recommend, just keep as is. Update dtopic_default to a ressonable value
[produce] - start_string, author, and title - update to your username or to your user group.
# Note that public_url is the location where all of your public html content is pushed.
[update_website] - website_url, rsync - update as appropriate

Install the mysql databases...
mysql -uroot -ppassword < create_podcasts.sql
mysql -uroot -ppassword < create_present.sql

Update the templates...
cd templates
vi index_head.html - This is used in generating the html webpage for the website
vi rss_head.xml - This is used as a header for the podcast feed.

# Update boa's config so that it will work
cd /etc/boa/
vi boa.conf

Edit the last line in the file from:
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin
to
ScriptAlias /cgi-bin/ /var/www/cgi-bin

The following two edits are OPTIONAL but make your web site a little more secure:
Comment out the Alias line above the ScriptAlias line.
Comment out the UserDir setting, about 1/2 way through the config file.

Then restart boa:
/etc/init.d/boa restart
cd /var/www/cgi-bin
vi confi.ini and update the [mysql] section to contain appropriate username & password.

# Test! Browse to http://localhost and see if you can add yourself as a presentor. Note that you must have vnc enabled for this test to work. Then, run a sample podcast by using the commands below. If you can do that successfully, re-create the mysql databases above to their initial settings and you can do it for real. :)

#### Usage

Before you start allowing people to connect to the website to register as a speaker, run
perl clean.pl

Have the users go to your website. Start your browse and point it to http://localhost. It will inform you of the ip address for them to connect to. If there is an issue with using the presentors screen via vnc, most errors should be detected, and the presentor is presented with options to fix it.

When you are about to start recording, run:
perl record.pl

Then enter the initial topic for the podcast. After you hit return, you're recording!

As the recording goes, type a number to grab a screen capture of the presentors screen.

If there is a new topic, press T and you will be prompted to enter a new topic.

If there is a curse word uttered, enter F, and a few seconds will be removed on either side of the recording.

Use S or + followed by a number or command, and after 5 seconds, the command will be run.

Use Q to quit. At that point the recording will be stopped.

To upload, run produce_all.pl. Finally, run perl update_website.pl , which will update your website.
66 changes: 66 additions & 0 deletions LICENSE
@@ -0,0 +1,66 @@
Zachary Zebrowski ; zaz@mitre.org

The author�s affiliation with the MITRE Corporation is provided for identification purposes only and is not intended to convey or imply MITRE�s concurrence with, or support for, the positions opinions or viewpoints expressed by the author.

Approved for Public Release: 12-2664. Distribution Unlimited

� 2012 The MITRE Corporation. All Rights Reserved

This software is licensed under the perl artisitic license. The description of the license appears below, and is available via :

http://perldoc.perl.org/perlartistic.html

The "Artistic License"
Preamble
The intent of this document is to state the conditions under which a Package may be copied, such that the Copyright Holder maintains some semblance of artistic control over the development of the package, while giving the users of the package the right to use and distribute the Package in a more-or-less customary fashion, plus the right to make reasonable modifications.
Definitions
"Package"
refers to the collection of files distributed by the Copyright Holder, and derivatives of that collection of files created through textual modification.
"Standard Version"
refers to such a Package if it has not been modified, or has been modified in accordance with the wishes of the Copyright Holder as specified below.
"Copyright Holder"
is whoever is named in the copyright or copyrights for the package.
"You"
is you, if you're thinking about copying or distributing this Package.
"Reasonable copying fee"
is whatever you can justify on the basis of media cost, duplication charges, time of people involved, and so on. (You will not be required to justify it to the Copyright Holder, but only to the computing community at large as a market that must bear the fee.)
"Freely Available"
means that no fee is charged for the item itself, though there may be fees involved in handling the item. It also means that recipients of the item may redistribute it under the same conditions they received it.
Conditions
1.
You may make and give away verbatim copies of the source form of the Standard Version of this Package without restriction, provided that you duplicate all of the original copyright notices and associated disclaimers.
2.
You may apply bug fixes, portability fixes and other modifications derived from the Public Domain or from the Copyright Holder. A Package modified in such a way shall still be considered the Standard Version.
3.
You may otherwise modify your copy of this Package in any way, provided that you insert a prominent notice in each changed file stating how and when you changed that file, and provided that you do at least ONE of the following:
a)
place your modifications in the Public Domain or otherwise make them Freely Available, such as by posting said modifications to Usenet or an equivalent medium, or placing the modifications on a major archive site such as uunet.uu.net, or by allowing the Copyright Holder to include your modifications in the Standard Version of the Package.
b)
use the modified Package only within your corporation or organization.
c)
rename any non-standard executables so the names do not conflict with standard executables, which must also be provided, and provide a separate manual page for each non-standard executable that clearly documents how it differs from the Standard Version.
d)
make other distribution arrangements with the Copyright Holder.
4.
You may distribute the programs of this Package in object code or executable form, provided that you do at least ONE of the following:
a)
distribute a Standard Version of the executables and library files, together with instructions (in the manual page or equivalent) on where to get the Standard Version.
b)
accompany the distribution with the machine-readable source of the Package with your modifications.
c)
give non-standard executables non-standard names, and clearly document the differences in manual pages (or equivalent), together with instructions on where to get the Standard Version.
d)
make other distribution arrangements with the Copyright Holder.
5.
You may charge a reasonable copying fee for any distribution of this Package. You may charge any fee you choose for support of this Package. You may not charge a fee for this Package itself. However, you may distribute this Package in aggregate with other (possibly commercial) programs as part of a larger (possibly commercial) software distribution provided that you do not advertise this Package as a product of your own. You may embed this Package's interpreter within an executable of yours (by linking); this shall be construed as a mere form of aggregation, provided that the complete Standard Version of the interpreter is so embedded.
6.
The scripts and library files supplied as input to or produced as output from the programs of this Package do not automatically fall under the copyright of this Package, but belong to whoever generated them, and may be sold commercially, and may be aggregated with this Package. If such scripts or library files are aggregated with this Package via the so-called "undump" or "unexec" methods of producing a binary executable image, then distribution of such an image shall neither be construed as a distribution of this Package nor shall it fall under the restrictions of Paragraphs 3 and 4, provided that you do not represent such an executable image as a Standard Version of this Package.
7.
C subroutines (or comparably compiled subroutines in other languages) supplied by you and linked into this Package in order to emulate subroutines and variables of the language defined by this Package shall not be considered part of this Package, but are the equivalent of input as in Paragraph 6, provided these subroutines do not change the language in any way that would cause it to fail the regression tests for the language.
8.
Aggregation of this Package with a commercial distribution is always permitted provided that the use of this Package is embedded; that is, when no overt attempt is made to make this Package's interfaces visible to the end user of the commercial distribution. Such use shall not be construed as a distribution of this Package.
9.
The name of the Copyright Holder may not be used to endorse or promote products derived from this software without specific prior written permission.
10.
THIS PACKAGE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
The End
33 changes: 33 additions & 0 deletions config.ini
@@ -0,0 +1,33 @@
[main]
main_dir=/root/
[mysql]
username=root
password=password
port=3306
[record]
record_string=/usr/bin/arecord -f S16_LE -c1 -r44100 -D hw:1,0 -t wav
topic_default= Default topic.
www_root=/var/www/podcast/
data_path=/var/www/data/

[produce]
# #EPISODENUMBER# - Episode number
# #MONTH# - Month of recording
# #YEAR# - Year of recording
# #TOPIC# - Topic of recording
start_string=You are listening to the podcast. This is episode number #EPISODENUMBER#. The topic for this podcast is #TOPIC#. This was a meeting during the month of #MONTH# in the year #YEAR#. Check us out at a relevant url. Now, on with the podcast...
temp_directory=/root/tempdirectory/
flite_path =/usr/bin/flite
sox_path=/usr/local/bin/sox
lame_path=/usr/bin/lame
public_path=/var/www/public/
mp32info2_path=/usr/local/bin/mp3info2
perl_produce_path=/usr/bin/perl /root/produce.pl
# Use _ for spaces for the following
author=Your_Name
# Able to use #EPISODENUMBER# , #MONTH# , #YEAR# and #TOPIC# are available here.
title=Podcast_Episode_#EPISODENUMBER#
[update_website]
website_url=http://yourhost.org/
rsync=/usr/bin/rsync --delete -avz /var/www/public/ -e ssh -i identify_file.txt ubuntu@yourhost.org:/var/www/
template_dir=/root/templates/

0 comments on commit 1b289db

Please sign in to comment.