411 REFERENCE · Wikibooks
ROSE Compiler Framework/Website
Reference material by Wikibooks contributors. This retains its source identity and is not 411 news reporting.
Goal
To collect inputs so we can have a professional, user-friendly, and easy-to-maintain official website for the ROSE project.
Intended Audience
Figuring out exactly who will be visiting our website is crucial to guide the design of the website:
1. Sponsors:
DOE program managers
LLNL officials
2. Staff members:
Easy to maintain: simpler is better
Easy to perform disaster recovery: backups, migration, etc.
3. Developers and Users:
End-users of ROSE: using ROSE-based tools - easy to access tutorials, guides, FAQs, help, etc.
Developers using ROSE to build custom tools - easy to access development resources
4. Collaborators:
People who have a formal collaboration with us
Solution
We are experimenting with WordPress to be the content management system for http://rosecompiler.org
Design
A wishlist for the website:
For sponsors
Qualifications about the ROSE team: staff members, postdocs
Solution: About Us page
Track record of success
publications: easy updating with latest publications.
presentations and talks: easy uploading latest R&R slides
software releases: solution: release page showing download counters, past releases
Outreach
user statistics: who is using ROSE for doing what: solution -> a dedicated user page
intern program: each year, posters:solution -> a dedicated interns page, easy update with R&R posters, etc.
education program: using ROSE for compiler class
Collaborators: subcontracts, etc.
Current projects: show the active research/development projects
solution: a dedicated projects page
Acknowledgement page: to explicitly list our sponsors and thank them
For collaborators
project management: issue tracking, etc
private wiki
mailing list:
source code: download and contribution back
code review
proposal writing
paper writing
For end users (developers)
download
Use git repository
Find documentation
Submit issues/bug reports, feature requests, etc.
Write documentation: wikibook
Implementation
Coding
Highlight Source Pro plugin
Copy-to-clipboard: http://www.steamdev.com/zclip/
Media
Link to Local Pages
http://codex.wordpress.org/Linking_Posts_Pages_and_Categories
Embed Documents
[gview file="http://xxx/wordpress/wp-content/uploads/2012/07/2010-Semantic-AwareAutomaticParallelizationofModernApplications-CPE.pdf"]
Theme
We now settle down with the Responsive Theme.
http://wordpress.org/extend/themes/responsive
http://themeid.com/forum/forum/12/responsive-documentation/
We tried to leverage industry-standard, open-source web development components:
Twitter's Bootstrap (HTML/CSS/javascript components): http://twitter.github.com/bootstrap/
320press' wp-bootstrap (Wordpress Twitter Bootstrap): http://320press.com/wpbs/
Customize
Theme Options:
1. Login to your wordpress/wp-admin URL
2. Select the Appearance menu item
3. Select the Theme Options sub-menu item
In this screen, you can configure your theme with preset options.
Templates - down-and-dirty, nitty-gritty customizations:
1. Login to your wordpress/wp-admin URL
2. Select the Appearance menu item
3. Select the Editor sub-menu item
In this editor screen, you can customize your theme's template files, e.g. php and css
Revision Control
Install the Revisions Control Plugin by Dion Hulse: http://wordpress.org/extend/plugins/revision-control/:
1. Login to your wordpress/wp-admin URL
2. Select the Plugins menu item
3. Select the Add New sub-menu item
4. Search for revision control plugin
5. Click Install Now for Revision Control by Dion Hulse
Tweak the Revisions Settings:
1. Login to your wordpress/wp-admin URL
2. Select the Settings menu item
3. Select the Revisions sub-menu item
4. Make your setting tweaks and click Save Changes
View Revisions for Posts/Pages:
1. Login to your wordpress/wp-admin URL
2. Select either the Posts or Pages menu item
3. Select one of your Posts or Pages
4. Click the Screen Options tab at the top of the screen to configure the current screen.
5. Check the Post Revisions checkbox. A widget near the bottom of your screen will appear where you can now manage your post's revisions.
How to move a wordpress website
http://codex.wordpress.org/Moving_WordPress
How to put Wordpress into a subdirectory but still runs it from the web root path:
http://codex.wordpress.org/Giving_WordPress_Its_Own_Directory
Troubleshooting
Asking for FTP info
you will need to make sure that the php scripts which need to write to the filesystem are owned by the same user that apache is running as.
http://www.chrisabernethy.com/why-wordpress-asks-connection-info/
Solution:
not working: chown -R apache wordpress
manual installation: http://www.village-idiot.org/archives/2008/06/19/how-to-upload-a-wordpress-plugin/
find the plugin to be download online
cd wordpress/wp-content/plugins
unzip the zip file there
check and change permission as necessary
in the admin webpage, activate it
Debug Mode
Turn on Wordpress (PHP) debugging in wordpress/wp-config.php:
define('WP_DEBUG', true);
Blank Page
A problem occurred after some git operations on our revision controlled wordpress/ installation.
$ git stash
$ git stash apply
git-stash seems to have changed the permissions of files so there were "permission denied" PHP errors. The solution is simply to fix the permissions to be readable by the web server (e.g., www-data).
Our hack, for our test/development installation was:
$ sudo chmod -R 777 wordpress/ # :-)
TO-DO
Image gallery: http://www.nextgen-gallery.com/nextgen-gallery-features/
Copy-to-clipboard (http://www.steamdev.com/zclip/) for clone URL
find a plugin to periodically find the most frequently accessed pages and list them on the front page
http://wordpress.org/extend/plugins/wordpresscom-popular-posts/ , not sure if it works for pages
Condense Project Overview in About Us and remove tab
Add Sponsors banner on Home page
Add collaborators images to Outreach
customize the footer to have R&R for the website: UCRL-WEB-212214, UCRL-WEB-219260 and UCRL-WEB-225313 (web)
remove 320press link on the right bottom corner.
Document how to update each page
Add Staff pictures
A gallery for AST graphs, analysis graphs, etc.
need php5-gd library: sudo apt-get install php5-gd, apache2 restart is needed after that
A gallery for projects
Add Community page/menu-item
Outreach page: interns, collaborators, users
use the dedicated interns page: consider it to be a menu item under outreach
Consider using Google Groups for public mailing list
Use Google Groups to archive Mailman
http://wiki.python.org/moin/MailmanWithGoogleGroups
https://support.google.com/groups/bin/answer.py?hl=en&answer=46387
Or use WordPress plugin to grab mailman discussions
Mailing lists
Wordpress:
Embed documents, slideshows, etc.
Google Doc Embedder: http://wordpress.org/extend/plugins/google-document-embedder/
Mailman
Link public mailing list stream to website: wp-mailman: http://wordpress.org/extend/plugins/mailman/
Subscribe to mailing list widget: http://wordpress.org/extend/plugins/mailman-widget/
Revision Management: http://codex.wordpress.org/Revision_Management
Revision Control Plugin: http://wordpress.org/extend/plugins/revision-control/
Document how to set it up (Completed 7/24/2012)
Bootstrap drop down menu not working, solution: W3 Total Cache: https://github.com/320press/wordpress-bootstrap/issues/32
Workaround: https://github.com/320press/wordpress-bootstrap/issues/32#issuecomment-7233022
Any updates on resolving this issue?
--
**Update**: I found the problem with my installation (might just because I'm a Wordpress newbie): I was not including the bootstrap-collapse javascript.
## Solution Attempt #1
Edit **wp-bootstrap: Theme Functions (functions.php)** to add `<script>` tags to load `bootstrap-collapse.js`:
Appearance > Editor > Theme Functions *(functions.php)*
```php
function my_scripts_method() {
// bootstrap-collapse requires bootstrap-transition.js
wp_deregister_script('bootstrap-transition');
wp_register_script('bootstrap-transition', 'http://twitter.github.com/bootstrap/assets/js/bootstrap-transition.js');
wp_enqueue_script('bootstrap-transition');
wp_deregister_script('bootstrap-collapse');
wp_register_script('bootstrap-collapse', 'http://twitter.github.com/bootstrap/assets/js/bootstrap-collapse.js');
wp_enqueue_script('bootstrap-collapse');
}
add_action('wp_enqueue_scripts', 'my_scripts_method');
```
*Note*: this is probably not the right way to do this, but it works.
## Solution Attempt #2
Edit **wp-bootstrap: Header (header.php)** to make `navbar` collapsed by default and remove toggle button:
1. Add `collapse` class to the `div`:
```html
<div class="nav-collapse collapse">
<?php bones_main_nav(); // Adjust using Menus in Wordpress Admin ?>
</div>
```
2. Remove toggle button, i.e. remove this code:
```html
<a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</a>
```
Email notifications (posts+pages): ???
backup and restoration (on another machine): has export feature; tar Wordpress directory
Group restriction: http://code.google.com/p/wp-group-restriction/
Low priority
low priority, long-term things
http://wordpress.org/extend/plugins/wp-polls/
http://wordpress.org/extend/plugins/contact-form-7/
http://wordpress.org/extend/plugins/wp-super-cache/
Example websites
We collect a few websites built using WordPress here, most from http://wordpress.org/showcase:
http://www.gnome.org/
http://www.bobcad.com/
http://codex.wordpress.org/WordPress_Features
Plugins
http://www.makeuseof.com/pages/best-wordpress-plugins
http://wphacks.com/wordpress-plugins/
Reference
http://www.makeuseof.com/tag/10-popular-content-management-systems-online/