ROSE Compiler Framework/Website

Goal edit

To collect inputs so we can have a professional, user-friendly, and easy-to-maintain official website for the ROSE project.

Intended Audience edit

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 edit

We are experimenting with WordPress to be the content management system for http://rosecompiler.org

Design edit

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 edit

Coding edit

Media edit

Link to Local Pages edit

http://codex.wordpress.org/Linking_Posts_Pages_and_Categories

Embed Documents edit

[gview file="http://xxx/wordpress/wp-content/uploads/2012/07/2010-Semantic-AwareAutomaticParallelizationofModernApplications-CPE.pdf"]

Theme edit

We now settle down with the Responsive Theme.

We tried to leverage industry-standard, open-source web development components:

Customize edit

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 edit

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 edit

http://codex.wordpress.org/Moving_WordPress

How to put Wordpress into a subdirectory but still runs it from the web root path:

Troubleshooting edit

Asking for FTP info edit

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:

Debug Mode edit

Turn on Wordpress (PHP) debugging in wordpress/wp-config.php:

define('WP_DEBUG', true);

Blank Page edit

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 edit

Wordpress:

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): ???

Low priority edit

Example websites edit

We collect a few websites built using WordPress here, most from http://wordpress.org/showcase:

Plugins

Reference edit