<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<!-- 
    Copyright (c) 2005, 2006 IBM Corporation and others.
    All rights reserved. This program and the accompanying materials
    are made available under the terms of the Eclipse Public License v1.0
    which accompanies this distribution, and is available at
    http://www.eclipse.org/legal/epl-v10.html
    Contributors:
    IBM Corporation - initial implementation
-->

<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css">
<!--
.style1 {font-family: "Courier New", Courier, mono}
-->
</style>
</head>

<body>
<h2><a>Exercise 2: Create New Custom Category </a></h2>
<p>The purpose of this exercise is to understand and use <strong>Custom Categories </strong>. </p>
<p><strong>Custom Categories </strong> allow you to categorize content according to any scheme you want. Custom Categories can then be used to compose publishable <strong>Views </strong> providing a means to organize method content prior to publishing. </p>
<ol>
  <li>
    <p>Make sure you are in the <strong>Authoring </strong> perspective. </p>
  </li>
  <li>
    <p> Navigate to <strong>My Plug-in &gt; Method Content &gt; Custom Categories</strong>. If you have not already created this plugin, create it now, or go through the <u>Create Core Method Content</u> tutorial. </p>
  </li>
  <li>
    <p> Create a new custom category named, <span class="style1">my_custom_category</span>. Right-click on the <strong>Custom Categories</strong> folder, highlight <strong>New, </strong> and then click <strong>Custom Category </strong>. </p>
  </li>
  <li>    Open the <strong>Assign </strong> tab. If you have previously created <span class="style1">my_content_packag</span>e, add the <strong>roles </strong>, <strong>artifacts</strong>, <strong>tasks, </strong> and <strong>guidance </strong> from it into the custom category. If you do not have this package, add content from another area in the library. </li>
  <blockquote>
    <p><strong>Note: </strong> You can do multiple select using shift or control key . </p>
  </blockquote>
  <li>
    <p> Add the <span class="style1">rup_analysis_design_discipline</span>. You will find this under <strong>RUP &gt; Disciplines &gt; rup_disciplines. </strong></p>
  </li>
  <li> Open one of the elements you assigned to the new custom category. Observe how the custom category is now reflected in the <strong>Categories </strong> tab. </li>
</ol>
</body>
</html>
