This patch requires a migration, since it introduces default homepage
content.
It also introduces a div that contains the content div. That has an
explicit 5px padding on all four sides to keep content from butting up
against the edges.
Signed-off-by: Darryl L. Pierce <mcpierce(a)gmail.com>
---
app/views/home/index.html.erb | 3 +-
app/views/layouts/default.html.erb | 4 +-
db/migrate/031_add_default_homepage_content.rb | 63 ++++++++++++++++++++++++
3 files changed, 67 insertions(+), 3 deletions(-)
create mode 100644 db/migrate/031_add_default_homepage_content.rb
diff --git a/app/views/home/index.html.erb b/app/views/home/index.html.erb
index e9aeb91..b58cca0 100644
--- a/app/views/home/index.html.erb
+++ b/app/views/home/index.html.erb
@@ -1,2 +1 @@
-<h1>Welcome To Another Installation Of ProjXP!</h1>
-
+<%= RedCloth.new(ConfigProperty.fetch("text.home_page",
"")).to_html %>
diff --git a/app/views/layouts/default.html.erb b/app/views/layouts/default.html.erb
index cc36450..2739459 100644
--- a/app/views/layouts/default.html.erb
+++ b/app/views/layouts/default.html.erb
@@ -47,7 +47,9 @@
</div>
<% end %>
- <%= yield :layout %>
+ <div style="padding: 5px">
+ <%= yield :layout %>
+ </div>
<div id="footer">
Copyright © 2006-2008, Darryl L. Pierce. Usage subject to licensing agreement.
diff --git a/db/migrate/031_add_default_homepage_content.rb
b/db/migrate/031_add_default_homepage_content.rb
new file mode 100644
index 0000000..ed48a74
--- /dev/null
+++ b/db/migrate/031_add_default_homepage_content.rb
@@ -0,0 +1,63 @@
+# 031_add_default_homepage_content.rb
+# Copyright (C) 2009, Darryl L. Pierce <mcpierce(a)gmail.com>
+#
+# This program is free software: you can redistribute it and/or modify it under
+# the terms of the GNU General Public License as published by the Free Software
+# Foundation, either version 3 of the License, or (at your option) any later
+# version.
+#
+# This program is distributed in the hope that it will be useful, but WITHOUT
+# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
+# details.
+#
+# You should have received a copy of the GNU General Public License along with
+# this program. If not, see <
http://www.gnu.org/licenses/>.
+#
+
+class AddDefaultHomepageContent < ActiveRecord::Migration
+ def self.up
+ ConfigProperty.store('text.home_page',
+ "h1. Welcome To ProjXP!\r\n\n" +
+ "ProjXP is an agile project management system. Its goal is
to enable developers in multiple locations to use agile development practices
effectively.\r\n\n" +
+
+ "h2. What Is Agile Development?\r\n\n" +
+ "Agile development is
\"defined\":http://en.wikipedia.org/wiki/Agile_software_development
as:\r\n\n" +
+ "bq. group of software development methodologies based on
iterative development, where requirements and solutions evolve through collaboration
between self-organizing cross-functional teams.\r\n\n" +
+ "Agile development enables teams to more quickly and
effectively perform development by requiring that features be prioritized, and
development to be done in short, achievable cycles, called sprints.\r\n\n" +
+ "*ProjXP* enables teams to use this methodology by
providing a way for project and product owners to prioritize the list of features needed
for an application. " +
+ "Developers and product owners then work together to define
sprints and include those features. " +
+ "Project owners can then monitor development progress
without distracting the development team.\r\n\n" +
+
+ "h2. What Are Projects and Products?\r\n\n" +
+ "The term _product_ refers to a group whose goal is to
provide a programming artifact, such as a an application, or a website, documentation or
even a shared library or web service.\r\n\n" +
+ "The term _project_ is used to group together one or more
directly related _products_.\r\n\n" +
+ "For example, a project may be composed of several product
teams:\r\n\n" +
+ "* *the web developers*, who provide the user interface for
a web application,\r\n" +
+ "* *the desktop developers*, who create a desktop
application providing the same features,\r\n" +
+ "* *the web services team*, who create a series of shared
services that the web and application teams access.\r\n\n" +
+ "h2. Epic Stories And User Stories\r\n\n" +
+ "An _epic story_ is an overarching feature, one that is
provided by more then one product. In the above example, one such epic could include
SSO[1].\r\n\n" +
+ "A _user story_ is a feature provided by a single product.
User stories can also be related to epic stories if they fulfill that epic's
requirements. So, for example, the desktop app could provide an interface for SSO, the web
application an HTML template, and the web services group a service to perform such
authentication.\r\n\n" +
+ "h2. How Does ProjXP Help?\r\n\n" +
+ "With *ProjXP*, project owners can focus on maintaining the
list of epic stories their project wants to achieve. They can focus on coordinating at a
higher level what needs to be done to make the project successful.\r\n\n" +
+ "Product owners can draw from the project's epic
stories, as well as define their own features that need to be accomplished.\r\n\n" +
+ "Sprint teams can streamline their development efforts by
focusing on the next task to be performed, and provide feedback to the team leader and
product owner by recording how much work was done. This allows for tracking a teams
overall velocity[2] during a sprint. Developers can also have *ProjXP* automatically send
a daily email to the team's mailing listing those items he completed the day before,
the items that are open, and also what items are current blockers. This helps to keep the
rest of the team informed about what everybody else is working on, enabling
collaboration.\r\n\n" +
+
+ "h2. Getting Started\r\n" +
+ "# Create a project.\r\n" +
+ "# Create a product.\r\n" +
+ "# Enter a set of user stories.\r\n" +
+ "# Add members to the product team.\r\n" +
+ "# Define a new sprint, and create backlog.\r\n" +
+ "# Start the sprint, and get busy!\r\n\n" +
+
+ "fn1. Shared sign on.\r\n\n" +
+ "fn2. See
\"here\":http://www.netobjectives.com/blogs/agile-development-velocity-is-the-measure-you-want
for more information on velocity.\r\n"
+ )
+ end
+
+ def self.down
+ ConfigProperty.find_by_name('text.home_page').destroy
+ end
+end
--
1.6.0.6