[Shale Wiki] Update of ShaleAndClayTutorial by Hermod Opstvedt
Dear Wiki user, You have subscribed to a wiki page or wiki category on Shale Wiki for change notification. The following page has been changed by Hermod Opstvedt: http://wiki.apache.org/shale/ShaleAndClayTutorial -- To make Eclipse understand that this is an Eclipse project you need to run the following Maven2 command. - mvn eclipse:eclipse âDwtpversion=1.5 + mvn eclipse:eclipse âDwtpversion=1.5 (If you are using an older version of the Maven Eclipse plugin you may have to specify 1.0) After running this command a couple of files and a directory will be created, that is need for Eclipse. Your layout should look something like this:
[Shale Wiki] Update of CreatingClayComponents by Hermod Opstvedt
Dear Wiki user, You have subscribed to a wiki page or wiki category on Shale Wiki for change notification. The following page has been changed by Hermod Opstvedt: http://wiki.apache.org/shale/CreatingClayComponents New page: = Creating Clay components = There are numerous ready-made components within the JavaServer Faces world. These are available in Clay too (There is a tool that maps the tag library description;tld into its Clay component counterpart call Tld2ClayCfg), so there is normally not a big need for creating own components (from scratch). But in many cases you may not be satisfied with what the standard components have to offer or you simply want to adapt them to your own special needs or not to forget add basic components together to form a new reusable component. In this tutorial we look at some components that we want to create fro out site (we will be making some sub-components too) , amongst others: a person registration form, a news component and a table/list. If don't want to tag along and enter code as we go, you can download the completed stuff here Start by opening up the Shale/Clay project that we created using the Maven2 archetype in the this tutorial == A person registration form == This component will be used to enter information about a person. The first thing we do is to define a bean that will be responsible for holding the entered information. The simplest way to do this is to augment the Person bean from the archetype. Add the following attributes: * lastname - String[[BR]] * firstname - String[[BR]] * streetadress - String[[BR]] * post - Post = new Post()[[BR]] Create getters/setters for all. Then create the Post bean with following attributes: * zipcode - Short[[BR]] * city - String[[BR]] * zipcodes - Short[] = new Short[] {51000, 51001, 51002, 51020, 51030, 51050, 51100, 51200}[[BR]] Create getters/setter for except for the zipcodes which only require a getter (read-only). If you started with the Maven2 archetype, the person bean will already have been defined as a managed bean in the faces-config.xml file, if not enter this into it: managed-bean id=person managed-bean-nameperson/managed-bean-name managed-bean-class no.dnbnor.test.Person /managed-bean-class managed-bean-scopesession/managed-bean-scope /managed-bean Now we almost have the receiver for the data in place. What we lack is a viewcontroller (controller in MVC) for the person registration form. Create a bean PersonVC that extends AbstractViewController and has on attribute of type Person with respective getter/setter. Define it the following in faces-config.xml file Definer denne i faces-config.xml managed-bean id=personReg managed-bean-namepersonReg/managed-bean-name managed-bean-class no.dnbnor.test.PersonVC /managed-bean-class managed-bean-scoperequest/managed-bean-scope managed-property property-nameperson/property-name property-class no.dnbnor.test.Person /property-class value#{person}/value /managed-property /managed-bean The next we do is to add a method that saves the person. Do this by adding the following method: public String save() { return null; } For now this method does nothing. Also note that it returns null. This means that no navigation rule will be executed and we remain at the same form. Now the time has come to design the form it self, the way we want it. By that we mean how it will look when we have completed our person registration component. We do this so that we have something to compare our component against. This also simulates the situation where we have been handed a html mockup from our designers, and we are now to create a dynamic implementation of it. In our case we want it to look like this: attachment:ShaleClaydir9.png As we can see from the design, there are two distinct blocks of information here, and would be natural to break this down into two components first. By so doing we can also reuse these by them self in another case. When we take a second look at it we see that there is a repetition of equal components; 2 labels and 2 input fields. We could of course created a component that was a combination of firstname label and firstname input field, but it would be cumbersome over time to have to create new components for different attributes (lastname, streetadress etc.). In some cases that is desirable though to ensure consistency everywhere (We will be creating such a component too). Instead we create a generic label/input combination. This we can then reuse for any attribute. We have two alternatives for how we create it, as an XML definition in the Clay configuration file, or as a HTML mockup with Clay annotations. To demonstrate both we will use the XML variant for the name panel an d HTML for the
[Shale Wiki] Update of FrontPage by Hermod Opstvedt
Dear Wiki user, You have subscribed to a wiki page or wiki category on Shale Wiki for change notification. The following page has been changed by Hermod Opstvedt: http://wiki.apache.org/shale/FrontPage -- === Tutorials === * [:ShaleAndClayTutorial:Shale and Clay starter] + * [:CreatingClayComponents:Creating Clay Components * [:ReusableClayJars:Creating reusable Clay components and distribute them as jar files] === Project Maintenance ===
[Shale Wiki] Update of CreatingClayComponents by Hermod Opstvedt
Dear Wiki user, You have subscribed to a wiki page or wiki category on Shale Wiki for change notification. The following page has been changed by Hermod Opstvedt: http://wiki.apache.org/shale/CreatingClayComponents -- As you can see we have tied the values of the attributes to symbols (identified by @). This means that we do not have to worry about the actual values of these now, but handle that when we use the component. - Lets now try to define the first panel, which is the name panel. As we said earlier there are a lot of ready-made component libraries for us to choose from. We are now going to use one of these. It is know as [http://myfaces.apache.org/tomahawk/index.html/ Tomahawk and comes from the [http://myfaces.apache.org/ MyFaces project. The component that we are going to use is the [http://myfaces.apache.org/tomahawk/htmlTag.html/ htmlTag. This is a component that will render any HTML tag that you specify as a value. To be able to use this, you need to download it and install it into you project. How you do this depends on whether you are using the Maven2 plugin, Maven2 by it self or not at all. The important thing is that you get the tomahawk jar file in the WEB-INF/LIB when you deploy your application(if itâs a standalone WAR). We base our application on the latest version which is currently 1.5-SNAPSHOT. Next is to make Clay aware of the components. You do that by adding the a ttachment: tomahawk-1.1.5-SNAPSHOT-config.xml Clay configuration file to your WEB-INF folder. Then change the following section in the web.xml file: + Lets now try to define the first panel, which is the name panel. As we said earlier there are a lot of ready-made component libraries for us to choose from. We are now going to use one of these. It is know as [http://myfaces.apache.org/tomahawk/index.html/ Tomahawk and comes from the [http://myfaces.apache.org/ MyFaces project. The component that we are going to use is the [http://myfaces.apache.org/tomahawk/htmlTag.html/ htmlTag. This is a component that will render any HTML tag that you specify as a value. To be able to use this, you need to download it and install it into you project. How you do this depends on whether you are using the Maven2 plugin, Maven2 by it self or not at all. The important thing is that you get the tomahawk jar file in the WEB-INF/LIB when you deploy your application(if itâs a standalone WAR). We base our application on the latest version which is currently 1.5-SNAPSHOT. Next is to make Clay aware of the components. You do that by adding the a ttachment:tomahawk-1.1.5-SNAPSHOT-config.xml Clay configuration file to your WEB-INF folder. Then change the following section in the web.xml file: !-- Clay Common Configuration Resources -- context-param
[Shale Wiki] Update of FrontPage by Hermod Opstvedt
Dear Wiki user, You have subscribed to a wiki page or wiki category on Shale Wiki for change notification. The following page has been changed by Hermod Opstvedt: http://wiki.apache.org/shale/FrontPage -- === Tutorials === * [:ShaleAndClayTutorial:Shale and Clay starter] - * [:CreatingClayComponents:Creating Clay Components + * [:CreatingClayComponents:Creating Clay Components] * [:ReusableClayJars:Creating reusable Clay components and distribute them as jar files] === Project Maintenance ===
[Shale Wiki] Update of CreatingClayComponents by Hermod Opstvedt
Dear Wiki user, You have subscribed to a wiki page or wiki category on Shale Wiki for change notification. The following page has been changed by Hermod Opstvedt: http://wiki.apache.org/shale/CreatingClayComponents -- - = Creating Clay components = + = Creating Clay components = There are numerous ready-made components within the JavaServer Faces world. These are available in Clay too (There is a tool that maps the tag library description;tld into its Clay component counterpart call Tld2ClayCfg), so there is normally not a big need for creating own components (from scratch). But in many cases you may not be satisfied with what the standard components have to offer or you simply want to adapt them to your own special needs or not to forget add basic components together to form a new reusable component.
[Shale Wiki] Update of CreatingClayComponents by Hermod Opstvedt
Dear Wiki user, You have subscribed to a wiki page or wiki category on Shale Wiki for change notification. The following page has been changed by Hermod Opstvedt: http://wiki.apache.org/shale/CreatingClayComponents -- In this tutorial we look at some components that we want to create fro out site (we will be making some sub-components too) , amongst others: a person registration form, a news component and a table/list. - If don't want to tag along and enter code as we go, you can download the completed stuff here + If don't want to tag along and enter code as we go, you can download the completed stuff attachment:shaleclay2.zip Start by opening up the Shale/Clay project that we created using the Maven2 archetype in the this tutorial
[Shale Wiki] Trivial Update of ShaleAndClayTutorial by CedricDumoulin
Dear Wiki user, You have subscribed to a wiki page or wiki category on Shale Wiki for change notification. The following page has been changed by CedricDumoulin: http://wiki.apache.org/shale/ShaleAndClayTutorial The comment on the change is: Typo -- In the field Select root directory enter the name of you workspace or use the âBrowse..â button to navigate to it. Eclipse should now list all available projects. Select the ShaleClay project and hit the âFinishâ button. - You may see a red cross on your projectname if you have not defined the maven classpath variable âM2_REPOâ. You ca add it under Window-preferences and then Java-Build Path-Classpath Variables + You may see a red cross on your projectname if you have not defined the maven classpath variable âM2_REPOâ. You can add it under Window-preferences and then Java-Build Path-Classpath Variables attachment:ShaleClay4.jpg @@ -68, +68 @@ Eclipse will then inform you that it has to rebuild the workspace. Press the Yes button. - If you still have a re cross after it has recompiled, check the default Java version in Eclipse. If you have Java5 as standard the cause is the compiler-level is mismatched with what Maven set when it generated the project. Go to the problems view, right click on the message and choose âQuick Fixâ + If you still have a red cross after it has recompiled, check the default Java version in Eclipse. If you have Java5 as standard the cause is the compiler-level is mismatched with what Maven set when it generated the project. Go to the problems view, right click on the message and choose âQuick Fixâ attachment:ShaleClay6.jpg @@ -79, +79 @@ attachment:ShaleClay7.jpg In the Java sourcefolder (src/main/java) under the packagename you provided you should find two classes: - Person og TestVC. + Person and TestVC. In the resources folder (src/main/resources) you will find three property files. This is actually one property file with two language provisions of it. These can be identified by their nameextention. In the web sources folder (src/main/webapp) you will find several folders: - The folder âimagesâ contains the images and backgrouns that are used for the site. + The folder âimagesâ contains the images and backgrounds that are used for the site. - The folder âpagesâ contains standard definitions (defaultxxx.html) of the various parts tghat make up the site, along with som specific definitions (pageXbody.html) + The folder âpagesâ contains standard definitions (defaultxxx.html) of the various parts that make up the site, along with some specific definitions (pageXbody.html) The folder âtemplatesâ contains the template that we are using to build our site â we will return to this shortly @@ -143, +143 @@ * org.apache.shale.clay.FULLXML_CONFIG_FILES â What are the name(s) of the Clay configuration file(s) that tells Clay about our page definitions.[[BR]] * org.apache.shale.clay.XML_TEMPLATE_SUFFIX â Which page suffixes should be handled by Clay.[[BR]] - The are the Filter defintions. A filter is a Javaclass that will be called by the webcontainer on every request that comes into it (Actually only requests that match a certain predefined pattern â See filter-mapping below) + Then are the Filter definitions. A filter is a Javaclass that will be called by the webcontainer on every request that comes into it (Actually only requests that match a certain predefined pattern â See filter-mapping below) filter[[BR]] filter-nameshale/filter-name[[BR]]
[Shale Wiki] Trivial Update of ShaleAndClayTutorial by CedricDumoulin
Dear Wiki user, You have subscribed to a wiki page or wiki category on Shale Wiki for change notification. The following page has been changed by CedricDumoulin: http://wiki.apache.org/shale/ShaleAndClayTutorial The comment on the change is: Remove false links -- This will build the archetype and install into your local repository so that it is available to you. - Create a directory where you want the project, ex. C:\My projects\ShaleClay. Open a shell (CMD) and type in (on one line): + Create a directory where you want the project, ex. C:\My projects\Shale``Clay. Open a shell (CMD) and type in (on one line): - mvn archetype:create -DarchetypeGroupId=org.apache.shale.clay -DarchetypeArtifactId=clay-starter-archetype -DarchetypeVersion=1.0-SNAPSHOT -DgroupId=com.acme.test -DpackageName=com.acme.test -DartifactId=shaleclay + mvn archetype:create -D``archetypeGroupId=org.apache.shale.clay -D``archetypeArtifactId=clay-starter-archetype -D``archetypeVersion=1.0-SNAPSHOT -D``groupId=com.acme.test -D``packageName=com.acme.test -D``artifactId=shaleclay What happens here is that Maven will create a project based on Shale and Clay. The parameters are: - * archetypeGroupId â The archetype groupId[[BR]] + * archetype``Group``Id â The archetype groupId[[BR]] - * archetypeArtifactId â The archetype artifactId[[BR]] + * archetype``Artifact``Id â The archetype artifactId[[BR]] - * archetypeVersion â The archetype version number[[BR]] + * archetype``Version â The archetype version number[[BR]] - * groupId â The groupId of you project[[BR]] + * group``Id â The groupId of you project[[BR]] - * packageName â The default package name of your project â included source is placed here[[BR]] + * package``Name â The default package name of your project â included source is placed here[[BR]] - * artifactId - The groupId of you project[[BR]] + * artifact``Id - The groupId of you project[[BR]] After you have done his, a project will have been created for you in a directory with the same name as you gave for the artifactId. Move to this directory. @@ -44, +44 @@ == Lets start == - Start Eclipse and open a workspace that points to C:\My projects\ShaleClay (or wherever you chose as a workspace for this project) + Start Eclipse and open a workspace that points to C:\My projects\Shale``Clay (or wherever you chose as a workspace for this project) For Eclipse you now need to import the newly created project into the workspace: @@ -56, +56 @@ attachment:ShaleClaydir3.jpg - In the field Select root directory enter the name of you workspace or use the âBrowse..â button to navigate to it. Eclipse should now list all available projects. Select the ShaleClay project and hit the âFinishâ button. + In the field Select root directory enter the name of you workspace or use the âBrowse..â button to navigate to it. Eclipse should now list all available projects. Select the Shale``Clay project and hit the âFinishâ button. You may see a red cross on your projectname if you have not defined the maven classpath variable âM2_REPOâ. You can add it under Window-preferences and then Java-Build Path-Classpath Variables @@ -135, +135 @@ param-value.jsf/param-value[[BR]] /context-param[[BR]] - These declarations (context-param) are used by Clay and the JavaServer Faces (JSF) implementation at startup. + These declarations (context-param) are used by Clay and the Java``Server Faces (JSF) implementation at startup. * javax.faces.DEFAULT_SUFFIX â Tells which page suffixes should be handled by JSF[[BR]] * javax.faces.STATE_SAVING_METHOD â How should session state be persisted (Client-side or Server-side)[[BR]] @@ -148, +148 @@ filter[[BR]] filter-nameshale/filter-name[[BR]] filter-class[[BR]] - org.apache.shale.application.faces.ShaleApplicationFilter[[BR]] + org.apache.shale.application.faces.Shale``Application``Filter[[BR]] /filter-class[[BR]] /filter[[BR]] @@ -162, +162 @@ Next comes the Servlet definitions. These servlets are instandiated by the webcontainer at startup because they have a load-on-startup set. These Servlets are responsible for setting up various session and application scoped parameters based on the configuration files, and also for receiving all requests (That match a pattern) that comes into the webapplication -!-- JavaServer Faces Servlet Configuration -- [[BR]] +!-- Java``Server Faces Servlet Configuration -- [[BR]] servlet [[BR]] servlet-namefaces/servlet-name [[BR]] - servlet-classjavax.faces.webapp.FacesServlet/servlet-class [[BR]] + servlet-classjavax.faces.webapp.Faces``Servlet/servlet-class [[BR]] load-on-startup1/load-on-startup [[BR]] /servlet [[BR]] -!-- JavaServer Faces
[Shale Wiki] Update of ShaleAndClayTutorial by CedricDumoulin
Dear Wiki user, You have subscribed to a wiki page or wiki category on Shale Wiki for change notification. The following page has been changed by CedricDumoulin: http://wiki.apache.org/shale/ShaleAndClayTutorial The comment on the change is: typo -- load-on-startup1/load-on-startup /servlet -!-- Java``Server Faces Servlet Mapping -- +!-- JavaServer Faces Servlet Mapping -- servlet-mapping servlet-namefaces/servlet-name url-pattern*.jsf/url-pattern
[Shale Wiki] Update of ShaleAndClayTutorial by CedricDumoulin
Dear Wiki user, You have subscribed to a wiki page or wiki category on Shale Wiki for change notification. The following page has been changed by CedricDumoulin: http://wiki.apache.org/shale/ShaleAndClayTutorial -- !-- Shale Application Controller Filter Mapping -- filter-mapping -filter-nameshale/filter-name + filter-nameshale/filter-name -url-pattern/*/url-pattern + url-pattern/*/url-pattern /filter-mapping }}}
[Shale Wiki] Update of CreatingClayComponents by Hermod Opstvedt
Dear Wiki user, You have subscribed to a wiki page or wiki category on Shale Wiki for change notification. The following page has been changed by Hermod Opstvedt: http://wiki.apache.org/shale/CreatingClayComponents -- = Creating Clay components = - There are numerous ready-made components within the JavaServer Faces world. These are available in Clay too (There is a tool that maps the tag library description;tld into its Clay component counterpart call Tld2ClayCfg), so there is normally not a big need for creating own components (from scratch). But in many cases you may not be satisfied with what the standard components have to offer or you simply want to adapt them to your own special needs or not to forget add basic components together to form a new reusable component. + There are numerous ready-made components within the Java``Server Faces world. These are available in Clay too (There is a tool that maps the tag library description;tld into its Clay component counterpart call Tld2``Clay``Cfg), so there is normally not a big need for creating own components (from scratch). But in many cases you may not be satisfied with what the standard components have to offer or you simply want to adapt them to your own special needs or not to forget add basic components together to form a new reusable component. In this tutorial we look at some components that we want to create fro out site (we will be making some sub-components too) , amongst others: a person registration form, a news component and a table/list. @@ -42, +42 @@ managed-bean-scopesession/managed-bean-scope[[BR]] /managed-bean[[BR]] - Now we almost have the receiver for the data in place. What we lack is a viewcontroller (controller in MVC) for the person registration form. Create a bean PersonVC that extends AbstractViewController and has on attribute of type Person with respective getter/setter. + Now we almost have the receiver for the data in place. What we lack is a viewcontroller (controller in MVC) for the person registration form. Create a bean PersonVC that extends Abstract``View``Controller and has on attribute of type Person with respective getter/setter. Define it the following in faces-config.xml file Definer denne i faces-config.xml @@ -274, +274 @@ In addition we also have to declare what the symbol zipcodesList is to be replaced with when we use it on our page. The values for such a list must be one of the following types: - [http://java.sun.com/javaee/javaserverfaces/1.1_01/docs/api/javax/faces/model/SelectItem.html/ SelectItem, SelectItem[], Collection or Map. W use SelectItem, so you need to add the following method to the Post bean: + [http://java.sun.com/javaee/javaserverfaces/1.1_01/docs/api/javax/faces/model/SelectItem.html/ SelectItem SelectItem[], Collection or Map. W use SelectItem, so you need to add the following method to the Post bean: private void initZipcodesList() {[[BR]] zipcodeliste=new !SelectItem[zipcodes.length];[[BR]]
[Shale Wiki] Update of CreatingClayComponents by Hermod Opstvedt
Dear Wiki user, You have subscribed to a wiki page or wiki category on Shale Wiki for change notification. The following page has been changed by Hermod Opstvedt: http://wiki.apache.org/shale/CreatingClayComponents -- In addition we also have to declare what the symbol zipcodesList is to be replaced with when we use it on our page. The values for such a list must be one of the following types: - [http://java.sun.com/javaee/javaserverfaces/1.1_01/docs/api/javax/faces/model/SelectItem.html/ SelectItem SelectItem[], Collection or Map. W use SelectItem, so you need to add the following method to the Post bean: + [http://java.sun.com/javaee/javaserverfaces/1.1_01/docs/api/javax/faces/model/SelectItem.html/ Select``Item Select``Item``[``], Collection or Map. We use Select``Item, so you need to add the following method to the Post bean: private void initZipcodesList() {[[BR]] - zipcodeliste=new !SelectItem[zipcodes.length];[[BR]] + zipcodeliste=new Select``Item[zipcodes.length];[[BR]] - SelectItem selectItem;[[BR]] + Select``Item selectItem;[[BR]] for(int i=0; i zipcodes.length; i++)[[BR]] {[[BR]] - selectItem=new !SelectItem();[[BR]] + selectItem=new Select``Item();[[BR]] selectItem.setLabel(zipcodes[i].toString());[[BR]] selectItem.setValue(zipcodes[i]);[[BR]] zipcodesliste[i]=selectItem;[[BR]]
[Shale Wiki] Update of CreatingClayComponents by Hermod Opstvedt
Dear Wiki user, You have subscribed to a wiki page or wiki category on Shale Wiki for change notification. The following page has been changed by Hermod Opstvedt: http://wiki.apache.org/shale/CreatingClayComponents -- As you can see we have tied the values of the attributes to symbols (identified by @). This means that we do not have to worry about the actual values of these now, but handle that when we use the component. - Lets now try to define the first panel, which is the name panel. As we said earlier there are a lot of ready-made component libraries for us to choose from. We are now going to use one of these. It is know as [http://myfaces.apache.org/tomahawk/index.html/ Tomahawk and comes from the [http://myfaces.apache.org/ MyFaces project. The component that we are going to use is the [http://myfaces.apache.org/tomahawk/htmlTag.html/ htmlTag. This is a component that will render any HTML tag that you specify as a value. To be able to use this, you need to download it and install it into you project. How you do this depends on whether you are using the Maven2 plugin, Maven2 by it self or not at all. The important thing is that you get the tomahawk jar file in the WEB-INF/LIB when you deploy your application(if itâs a standalone WAR). We base our application on the latest version which is currently 1.5-SNAPSHOT. Next is to make Clay aware of the components. You do that by adding the a ttachment:tomahawk-1.1.5-SNAPSHOT-config.xml Clay configuration file to your WEB-INF folder. Then change the following section in the web.xml file: + Lets now try to define the first panel, which is the name panel. As we said earlier there are a lot of ready-made component libraries for us to choose from. We are now going to use one of these. It is know as [http://myfaces.apache.org/tomahawk/index.html/ Tomahawk] and comes from the [http://myfaces.apache.org/ MyFaces project]. The component that we are going to use is the [http://myfaces.apache.org/tomahawk/htmlTag.html/ htmlTag]. This is a component that will render any HTML tag that you specify as a value. To be able to use this, you need to download it and install it into you project. How you do this depends on whether you are using the Maven2 plugin, Maven2 by it self or not at all. The important thing is that you get the tomahawk jar file in the WEB-INF/LIB when you deploy your application(if itâs a standalone WAR). We base our application on the latest version which is currently 1.5-SNAPSHOT. Next is to make Clay aware of the components. You do that by adding th e attachment:tomahawk-1.1.5-SNAPSHOT-config.xml Clay configuration file to your WEB-INF folder. Then change the following section in the web.xml file: !-- Clay Common Configuration Resources --[[BR]] context-param[[BR]] @@ -274, +274 @@ In addition we also have to declare what the symbol zipcodesList is to be replaced with when we use it on our page. The values for such a list must be one of the following types: - [http://java.sun.com/javaee/javaserverfaces/1.1_01/docs/api/javax/faces/model/SelectItem.html/ Select``Item Select``Item``[``], Collection or Map. We use Select``Item, so you need to add the following method to the Post bean: + [http://java.sun.com/javaee/javaserverfaces/1.1_01/docs/api/javax/faces/model/SelectItem.html/ SelectItem] '''SelectItem[]''', Collection or Map. We use Select``Item, so you need to add the following method to the Post bean: private void initZipcodesList() {[[BR]] zipcodeliste=new Select``Item[zipcodes.length];[[BR]]
[Shale Wiki] Update of CreatingClayComponents by Hermod Opstvedt
Dear Wiki user, You have subscribed to a wiki page or wiki category on Shale Wiki for change notification. The following page has been changed by Hermod Opstvedt: http://wiki.apache.org/shale/CreatingClayComponents -- In addition we also have to declare what the symbol zipcodesList is to be replaced with when we use it on our page. The values for such a list must be one of the following types: - [http://java.sun.com/javaee/javaserverfaces/1.1_01/docs/api/javax/faces/model/SelectItem.html/ SelectItem] '''SelectItem[]''', Collection or Map. We use Select``Item, so you need to add the following method to the Post bean: + [http://java.sun.com/javaee/javaserverfaces/1.1_01/docs/api/javax/faces/model/SelectItem.html/ SelectItem] '''Select''Item[]''', Collection or Map. We use Select``Item, so you need to add the following method to the Post bean: private void initZipcodesList() {[[BR]] zipcodeliste=new Select``Item[zipcodes.length];[[BR]]
[Shale Wiki] Trivial Update of ShaleAndClayTutorial by CedricDumoulin
Dear Wiki user, You have subscribed to a wiki page or wiki category on Shale Wiki for change notification. The following page has been changed by CedricDumoulin: http://wiki.apache.org/shale/ShaleAndClayTutorial The comment on the change is: formating -- After you have done his, a project will have been created for you in a directory with the same name as you gave for the artifactId. Move to this directory. - To make Eclipse understand that this is an Eclipse project you need to run the following Maven2 command. + To make Eclipse understand that this is an Eclipse project you need to run the following Maven2 command:[[BR]] - + {{{mvn eclipse:eclipse âDwtpversion=1.5 }}}[[BR]] - mvn eclipse:eclipse âDwtpversion=1.5 (If you are using an older version of the Maven Eclipse plugin you may have to specify 1.0) + (If you are using an older version of the Maven Eclipse plugin you may have to specify 1.0) - After running this command a couple of files and a directory will be created, that is need for Eclipse. Your layout should look something like this: + After running this command a couple of files and a directory will be created, that is needed for Eclipse. Your layout should look something like this: attachment:ShaleClaydir1.jpg
[Shale Wiki] Trivial Update of ShaleAndClayTutorial by CedricDumoulin
Dear Wiki user, You have subscribed to a wiki page or wiki category on Shale Wiki for change notification. The following page has been changed by CedricDumoulin: http://wiki.apache.org/shale/ShaleAndClayTutorial The comment on the change is: format and typo -- /component }}} - As we can see we have a section named âsymbolsâ, Here we instruct Clay what to substitute the symbols with. In this case we have made some defaults to substitute in and the will be used unless we override them when defining a specific page. Now that we have a template to work with the work of creating specific pages start. Since we for now only want to replace the content part (defined by the symbol bodyContent) and the page title, we only need to create those parts. We now need to let Clay know about these. To tell Clay how to build our specifi pages we do that in the clay-views.xml file. If we open this file, we will find several page definitions: + As we can see we have a section named âsymbolsâ, Here we instruct Clay what to substitute the symbols with. In this case we have made some defaults to substitute in and the will be used unless we override them when defining a specific page. Now that we have a template to work with the work of creating specific pages start. Since we for now only want to replace the content part (defined by the symbol bodyContent) and the page title, we only need to create those parts. We now need to let Clay know about these. To tell Clay how to build our specific pages we do that in the clay-views.xml file. If we open this file, we will find several page definitions: {{{ component jsfid=/page1.jsf extends=baseLayout @@ -302, +302 @@ /managed-bean }}} - Here we define the messages bean. In the this case it is a special purpose Shale bean. It purpose it to make available to us a resourcebundle that we have created. The name of that is Resource``Bundle.properties. You will find it the folder src/main/resources. This bean is available application wide (given by the scope section). It supports internationalization (I18N), so we can have several versions of the file where the are unique by their extension (_en, _no etc.). + Here we define the messages bean. In this case it is a special purpose Shale bean. Its purpose is to make available a resourcebundle that we have created, named {{{ResourceBundle.properties}}}. You will find it in folder {{{src/main/resources}}}. This bean is available application wide (given by the scope section). It supports internationalization (I18N), so we can have several versions of the file whose names differ by their extensions (_en, _no etc.). - Another attribute to note is âallowBodyâ. This attribute tells Clay whether or not to include any content within this tags body or not. Another way to achieve the same is through the Clay meta information !-- ### clay:remove ### -- !-- ### /clay:remove ### --. One of the nice things about this that we can have mock content on a page so that during design time w eget the full picture, and then have it removed during runtime so that it does not interfere with the actual content (Open the page in a browser to see this effect). + Another attribute to note is âallowBodyâ. This attribute tells Clay whether or not to include any content within this tags body or not. Another way to achieve the same is through the Clay meta information {{{!-- ### clay:remove ### -- !-- ### /clay:remove ### --}}}. One of the nice things about this that we can have mock content on a page so that during design time we get the full picture, and then have it removed during runtime so that it does not interfere with the actual content (Open the page in a browser to see this effect). If we more on and look at the second page (/page2.jsf) and its content (pageBody2.html) we see that we have used more of Clays functionalities. @@ -340, +340 @@ 1. a /a -2. form /form +1. form /form -3. input type=txt +1. input type=txt -4. input type=checkbox +1. input type=checkbox -5. input type=radio +1. input type=radio -6. input type=submit +1. input type=submit -7. label /label +1. label /label -8. select /select +1. select /select -9. select multiple /select +1. select multiple /select - 10. option +1. option - 11. textarea /textarea +1. textarea /textarea - This means that one can use these tags and add the Clay specifi attributes. Another thing to notice is that we have added a new symbol: @managed-bean-name. This symbol has special meaning in Shale/Clay. If we go back and look at the faces-config.xml file again, we will find the following declaration: + This means that one can use these tags and add the Clay specific attributes. Another thing to notice is that we have added a new
[Shale Wiki] Update of ForSide by Hermod Opstvedt
Dear Wiki user, You have subscribed to a wiki page or wiki category on Shale Wiki for change notification. The following page has been changed by Hermod Opstvedt: http://wiki.apache.org/shale/ForSide -- til siden MoinMoin:MoinMoinWikis. Det er bidrag av kode på sidene MoinMoin:MacroMarket, MoinMoin:ActionMarket og MoinMoin:ParserMarket. Flere detaljer og ytterligere emner finnes på MoinMoin-siden. - Du kan redigere enhver side ved å klikke på lenken i bunnen av siden. Flere sammensatte ord med store begynnelsesbokstaver danner et WikiName, som er en hyperlenke til en annen side. Klikk på tittelen for å få en oversikt over alle sider som refererer til denne side. Sider som ennå ikke er opprettet er markeret med et spørsmålstegn: Klikk på lenken for å opprette siden. + Du kan redigere enhver side ved å klikke på lenken i bunnen av siden. Flere sammensatte ord med store begynnelsesbokstaver danner et WikiName, som er en hyperlenke til en annen side. Klikk på tittelen for å få en oversikt over alle sider som refererer til denne side. Sider som ennå ikke er opprettet er markert med et spørsmålstegn: Klikk på lenken for å opprette siden. For en oversikt over denne site og hva den inneholder, se siden SiteNavigering.
[Shale Wiki] Trivial Update of ShaleAndClayTutorial by CedricDumoulin
Dear Wiki user, You have subscribed to a wiki page or wiki category on Shale Wiki for change notification. The following page has been changed by CedricDumoulin: http://wiki.apache.org/shale/ShaleAndClayTutorial The comment on the change is: Format text -- 1. option 1. textarea /textarea - This means that one can use these tags and add the Clay specific attributes. Another thing to notice is that we have added a new symbol: @managed-bean-name. This symbol has special meaning in Shale/Clay. If we go back and look at the faces-config.xml file again, we will find the following declaration: + This means that one can use these tags and add the Clay specific attributes. Another thing to notice is that we have added a new symbol: @managed-bean-name. This symbol has special meaning in '''Shale/Clay'''. If we go back and look at the {{{faces-config.xml}}} file again, we will find the following declaration: {{{ !-- Backing bean for page1 -- managed-bean id=page1 - managed-bean-namepage2/managed-bean-name + managed-bean-namepage1/managed-bean-name managed-bean-class com com.acme.test.TestVC /managed-bean-class @@ -378, +378 @@ /managed-bean }}} - What we do here is to define what is known as a backing beans or managed beans. These are beans that Shale will make available to us. Shale uses an implicit mapping strategy to decide which beans it should instantiate for a given view. If our page is called page1, it will then look for a managed bean with the same name and instantiate it. If you have a path to your page that spans several folders as in /foo/bar/pages/page1 then you need to define it as foo$bar$pages$page1 for Shale to find it and associate it with the page. + What we do here is to define what is known as a backing beans or managed beans. These are beans that Shale will make available to us. Shale uses an implicit mapping strategy to decide which beans it should instantiate for a given view. If our page is called page1, it will then look for a managed bean with the same name and instantiate it. If you have a path to your page that spans several folders as in {{{/foo/bar/pages/page1}}} then you need to define it as {{{foo$bar$pages$page1}}} for Shale to find it and associate it with the page. - Clay will when it sees the symbol managed-bean-name, replace it with the implicitly mapped bean that Shale is providing. In our case page1. + When Clay sees the symbol [EMAIL PROTECTED], it replaces it with the implicitly mapped bean that Shale is providing. In our case {{{page1}}}. - Lets take a closer look at the bean (com.acme.test.TestVC) that we are using for our backing bean. The first thing we notice is that it inherits from [http://shale.apache.org/shale-view AbstractViewController]. This class gives us some hooks (callbacks) into some Shale added lifecycle methods so that we can perform certain tasks that are relevant to that particular lifecycle. The next thing to notice is that is refers to a class Person. If you look in the faces-config.xml file again you will find the following declaration: + Lets take a closer look at the bean {{{com.acme.test.TestVC}}} that we are using for our backing bean. The first thing we notice is that it inherits from [http://shale.apache.org/shale-view AbstractViewController]. This class gives us some hooks (callbacks) into some Shale added lifecycle methods so that we can perform certain tasks that are relevant to that particular lifecycle. The next thing to notice is that is refers to a class Person. If you look in the {{{faces-config.xml}}} file again you will find the following declaration: {{{ managed-bean id=person
[Shale Wiki] Update of ReusableClayJars by RyanWynn
Dear Wiki user, You have subscribed to a wiki page or wiki category on Shale Wiki for change notification. The following page has been changed by RyanWynn: http://wiki.apache.org/shale/ReusableClayJars The comment on the change is: removed extra title -- - ReusableClayJars - ClayAndTiles shows how Clays supports virtual entry points to pages in the form of full XML views. Full XML views allow you to reference a clay component which in turn references a physical file. This indirection is a nice way to abstract resources. You can use a simple name like /foo.xml to represent something that is really living in a location on the classpath, classpath*:org/bar/baz/foo.html, or under the web context, /pages/bar/baz/foo.html. Unfortunately, if you like using the Tapestry-like full HTML views then you will soon find that mixing full HTML and full XML entry points can be troublesome. This example shows how one could package a Login Module as a self contained jar file using Clay full HTML views only. Then it shows how one could easily drop this jar into any JSF web application.
[Shale Wiki] Update of CreatingClayComponents by Hermod Opstvedt
Dear Wiki user, You have subscribed to a wiki page or wiki category on Shale Wiki for change notification. The following page has been changed by Hermod Opstvedt: http://wiki.apache.org/shale/CreatingClayComponents -- managed-bean id=person[[BR]] managed-bean-nameperson/managed-bean-name[[BR]] managed-bean-class[[BR]] - no.dnbnor.test.Person[[BR]] + com.acme.test.Person[[BR]] /managed-bean-class[[BR]] managed-bean-scopesession/managed-bean-scope[[BR]] /managed-bean[[BR]] @@ -50, +50 @@ managed-bean id=personReg[[BR]] managed-bean-namepersonReg/managed-bean-name[[BR]] managed-bean-class[[BR]] - no.dnbnor.test.PersonVC[[BR]] + com.acme.test.PersonVC[[BR]] /managed-bean-class[[BR]] managed-bean-scoperequest/managed-bean-scope[[BR]] managed-property[[BR]] property-nameperson/property-name[[BR]] property-class[[BR]] - no.dnbnor.test.Person[[BR]] + com.acme.test.Person[[BR]] /property-class[[BR]] value#{person}/value[[BR]] /managed-property[[BR]]
[Shale Wiki] Trivial Update of CreatingClayComponents by CedricDumoulin
Dear Wiki user, You have subscribed to a wiki page or wiki category on Shale Wiki for change notification. The following page has been changed by CedricDumoulin: http://wiki.apache.org/shale/CreatingClayComponents The comment on the change is: Typo and code formating -- There are numerous ready-made components within the Java``Server Faces world. These are available in Clay too (There is a tool that maps the tag library description;tld into its Clay component counterpart call Tld2``Clay``Cfg), so there is normally not a big need for creating own components (from scratch). But in many cases you may not be satisfied with what the standard components have to offer or you simply want to adapt them to your own special needs or not to forget add basic components together to form a new reusable component. - In this tutorial we look at some components that we want to create fro out site (we will be making some sub-components too) , amongst others: a person registration form, a news component and a table/list. + In this tutorial we look at some components that we want to create for our site (we will be making some sub-components too) , amongst others: a person registration form, a news component and a table/list. If don't want to tag along and enter code as we go, you can download the completed stuff attachment:shaleclay2.zip @@ -16, +16 @@ Add the following attributes: - * lastname - String[[BR]] + * lastname - String[[BR]] - * firstname - String[[BR]] + * firstname - String[[BR]] - * streetadress - String[[BR]] + * streetadress - String[[BR]] - * post - Post = new Post()[[BR]] + * post - Post = new Post()[[BR]] Create getters/setters for all. Then create the Post bean with following attributes: - * zipcode - Short[[BR]] + * zipcode - Short[[BR]] - * city - String[[BR]] + * city - String[[BR]] - * zipcodes - Short[] = new Short[] {51000, 51001, 51002, 51020, 51030, 51050, 51100, 51200}[[BR]] + * zipcodes - Short[] = new Short[] {51000, 51001, 51002, 51020, 51030, 51050, 51100, 51200}[[BR]] Create getters/setter for except for the zipcodes which only require a getter (read-only). If you started with the Maven2 archetype, the person bean will already have been defined as a managed bean in the faces-config.xml file, if not enter this into it: - + {{{ managed-bean id=person[[BR]] managed-bean-nameperson/managed-bean-name[[BR]] managed-bean-class[[BR]] @@ -41, +41 @@ /managed-bean-class[[BR]] managed-bean-scopesession/managed-bean-scope[[BR]] /managed-bean[[BR]] + }}} - Now we almost have the receiver for the data in place. What we lack is a viewcontroller (controller in MVC) for the person registration form. Create a bean PersonVC that extends Abstract``View``Controller and has on attribute of type Person with respective getter/setter. + Now we almost have the receiver for the data in place. What we lack is a viewcontroller (controller in MVC) for the person registration form. Create a bean PersonVC that extends Abstract``View``Controller and has one attribute of type Person with respective getter/setter. - Define it the following in faces-config.xml file + Define the following in faces-config.xml file - Definer denne i faces-config.xml + {{{ managed-bean id=personReg[[BR]] managed-bean-namepersonReg/managed-bean-name[[BR]] managed-bean-class[[BR]] @@ -61, +62 @@ value#{person}/value[[BR]] /managed-property[[BR]] /managed-bean[[BR]] + }}} The next we do is to add a method that saves the person. Do this by adding the following method: + {{{ public String save()[[BR]] {[[BR]] return null;[[BR]] }[[BR]] + }}} For now this method does nothing. Also note that it returns null. This means that no navigation rule will be executed and we remain at the same form. @@ -75, +79 @@ attachment:ShaleClay9.png - As we can see from the design, there are two distinct blocks of information here, and would be natural to break this down into two components first. By so doing we can also reuse these by them self in another case. When we take a second look at it we see that there is a repetition of equal components; 2 labels and 2 input fields. We could of course created a component that was a combination of firstname label and firstname input field, but it would be cumbersome over time to have to create new components for different attributes (lastname, streetadress etc.). In some cases that is desirable though to ensure consistency everywhere (We will be creating such a component too). Instead we create a generic label/input combination. This we can then reuse for any attribute. We have two alternatives for how we create it, as an XML definition in the Clay configuration file, or as a HTML
[Shale Wiki] Update of CreatingClayComponents by Hermod Opstvedt
Dear Wiki user, You have subscribed to a wiki page or wiki category on Shale Wiki for change notification. The following page has been changed by Hermod Opstvedt: http://wiki.apache.org/shale/CreatingClayComponents -- Define the following in faces-config.xml file {{{ - managed-bean id=personReg] + managed-bean id=personReg - managed-bean-namepersonReg/managed-bean-name] + managed-bean-namepersonReg/managed-bean-name - managed-bean-class] + managed-bean-class - com.acme.test.PersonVC] + com.acme.test.PersonVC - /managed-bean-class] + /managed-bean-class - managed-bean-scoperequest/managed-bean-scope] + managed-bean-scoperequest/managed-bean-scope - managed-property] + managed-property - property-nameperson/property-name] + property-nameperson/property-name - property-class] + property-class - com.acme.test.Person] + com.acme.test.Person - /property-class] + /property-class - value#{person}/value] + value#{person}/value - /managed-property] + /managed-property - /managed-bean] + /managed-bean }}} The next we do is to add a method that saves the person. Do this by adding the following method: @@ -84, +84 @@ We start by creating the generic labell/input filed component and we will call it gltic. This is short for Generic Label Text Input Component. {{{ - component jsfid=gltic extends=clay id=gltic] + component jsfid=gltic extends=clay id=gltic - element jsfid=outputLabel renderId=1] + element jsfid=outputLabel renderId=1 - attributes] + attributes - set name=value value=@ltName/set] + set name=value value=@ltName/set - /attributes] + /attributes - /element] + /element - element jsfid=inputText renderId=2] + element jsfid=inputText renderId=2 - attributes] + attributes - set name=value value=@ltValue/set] + set name=value value=@ltValue/set - /attributes] + /attributes - /element] + /element - /component] + /component }}} There are a couple of things to note here. Firstsly, we extend from clay. All components must either extend clay or another existing component. Next thing to note is that within the component define elements that are part of the component. Be careful with the rendered attribute. This attribute governs the rendering order of the elements to the device. So be careful to order them in the order that you want them displayed. Also take care that the renderIDs are unique at the same element level (You can have nested elements). @@ -105, +105 @@ Lets now try to define the first panel, which is the name panel. As we said earlier there are a lot of ready-made component libraries for us to choose from. We are now going to use one of these. It is know as [http://myfaces.apache.org/tomahawk/index.html/ Tomahawk] and comes from the [http://myfaces.apache.org/ MyFaces project]. The component that we are going to use is the [http://myfaces.apache.org/tomahawk/htmlTag.html/ htmlTag]. This is a component that will render any HTML tag that you specify as a value. To be able to use this, you need to download it and install it into you project. How you do this depends on whether you are using the Maven2 plugin, Maven2 by it self or not at all. The important thing is that you get the tomahawk jar file in the WEB-INF/LIB when you deploy your application(if itâs a standalone WAR). We base our application on the latest version which is currently 1.5-SNAPSHOT. Next is to make Clay aware of the components. You do that by adding th e attachment:tomahawk-1.1.5-SNAPSHOT-config.xml Clay configuration file to your WEB-INF folder. Then change the following section in the web.xml file: {{{ - !-- Clay Common Configuration Resources --] + !-- Clay Common Configuration Resources -- - context-param] + context-param - param-name] + param-name - org.apache.shale.clay.COMMON_CONFIG_FILES] + org.apache.shale.clay.COMMON_CONFIG_FILES - /param-name] + /param-name - param-value] + param-value - /WEB-INF/clay-config.xml,] + /WEB-INF/clay-config.xml, - /WEB-INF/tomahawk-1.1.5-SNAPSHOT-config.xml] + /WEB-INF/tomahawk-1.1.5-SNAPSHOT-config.xml - /param-value] + /param-value - /context-param] + /context-param }}} We are now ready to use all the components that Tomahawk has to offer. @@ -122, +122 @@ Back to our name panel, there is one
[Shale Wiki] Update of CreatingClayComponents by Hermod Opstvedt
Dear Wiki user, You have subscribed to a wiki page or wiki category on Shale Wiki for change notification. The following page has been changed by Hermod Opstvedt: http://wiki.apache.org/shale/CreatingClayComponents -- }}} This way it would always look the same when you used the saveButton component. - SO lets stitch this together as a whole. Since we are not adding any more components to our page, we can use the form as basis for it. Our completed component then becomes: + So lets stitch this together as a whole. Since we are not adding any more components to our page, we can use the form as basis for it. Our completed component then becomes: {{{ component jsfid=personregpanel extends=form
[Shale Wiki] Trivial Update of CreatingClayComponents by CedricDumoulin
Dear Wiki user, You have subscribed to a wiki page or wiki category on Shale Wiki for change notification. The following page has been changed by CedricDumoulin: http://wiki.apache.org/shale/CreatingClayComponents The comment on the change is: Format and typo -- Here we have defined our reusable components as elements (respecting the rendered) and defined actual values to substitute the symbols with. - The last thing we need to do is to as another entry in our menustructure awhich is defined in defaultLeftNav.html (in folder pages): + The last thing we need to do is to add another entry in our menu structure which is defined in defaultLeftNav.html (in folder pages): {{{ + li - lia jsfid=commandLink action=personreg allowBody=true immediate=truespan jsfid=outputText value=#{messages['menu.personreg']} allowBody=falsePersonreg/span/a/li + a jsfid=commandLink action=personreg allowBody=true immediate=truespan jsfid=outputText value=#{messages['menu.personreg']} allowBody=falsePersonreg/span/a + /li }}} - Package, deploy and start the application. The choose Personreg from the menu. You should now be presented with this: + Package, deploy and start the application. Then choose Personreg from the menu. You should now be presented with this: attachment:ShaleClay10.png - Enter some values for the different fields and push Save. Choose one of the other pages, and the Personreg again. The data are still there because we declared our Poerson bean to have session scope. + Enter some values for the different fields and push Save. Choose one of the other pages, and the Personreg again. The data are still there because we declared our Person bean to have session scope. To refine this you can substitute the zipcode field with a combobox that gets its values from the Post beans getZipcodes method (This is shown in the downloadable finished application). The HTML definition for it is: @@ -292, +294 @@ In addition we also have to declare what the symbol zipcodesList is to be replaced with when we use it on our page. The values for such a list must be one of the following types: - [http://java.sun.com/javaee/javaserverfaces/1.1_01/docs/api/javax/faces/model/SelectItem.html/ SelectItem] '''Select''Item[]''', Collection or Map. We use Select``Item, so you need to add the following method to the Post bean: + [http://java.sun.com/javaee/javaserverfaces/1.1_01/docs/api/javax/faces/model/SelectItem.html/ SelectItem] {{{SelectItem[]}}}, Collection or Map. We use Select``Item, so you need to add the following method to the Post bean: {{{ private void initZipcodesList() { - zipcodeliste=new Select``Item[zipcodes.length]; + zipcodeliste=new SelectItem[zipcodes.length]; - Select``Item selectItem; + SelectItem selectItem; for(int i=0; i zipcodes.length; i++) { - selectItem=new Select``Item(); + selectItem=new SelectItem(); selectItem.setLabel(zipcodes[i].toString()); selectItem.setValue(zipcodes[i]); zipcodesliste[i]=selectItem; } } - {{{ + }}} And add a default constructor to it:
[Shale Wiki] Update of ShaleAndClayTutorial by Hermod Opstvedt
Dear Wiki user, You have subscribed to a wiki page or wiki category on Shale Wiki for change notification. The following page has been changed by Hermod Opstvedt: http://wiki.apache.org/shale/ShaleAndClayTutorial -- Since the archetype currently has not made its way into the distribution, you will need to get the archetype from the Shale Subversion repository located at: - https://svn.apache.org/repos/asf/shale/sandbox/maven/archetypes/shale-clay-starter-archetype + https://svn.apache.org/repos/asf/shale/maven/archetypes/shale-clay-starter-archetype After you have downloaded the sources, you need to run the following Maven2 command in the shale-starter-archetype directory: @@ -83, +83 @@ attachment:ShaleClay7.jpg In the Java sourcefolder (src/main/java) under the packagename you provided you should find two classes: - Person and TestVC. + Person and TestViewController. In the resources folder (src/main/resources) you will find three property files. This is actually one property file with two language provisions of it. These can be identified by their name extention. @@ -361, +361 @@ managed-bean id=page1 managed-bean-namepage1/managed-bean-name managed-bean-class - com com.acme.test.TestVC + com com.acme.test.TestViewController /managed-bean-class managed-bean-scoperequest/managed-bean-scope /managed-bean managed-bean id=page2 managed-bean-namepage2/managed-bean-name managed-bean-class - com.acme.test.TestVC + com.acme.test.TestViewController /managed-bean-class managed-bean-scoperequest/managed-bean-scope managed-property @@ -385, +385 @@ When Clay sees the symbol [EMAIL PROTECTED], it replaces it with the implicitly mapped bean that Shale is providing. In our case {{{page1}}}. - Lets take a closer look at the bean {{{com.acme.test.TestVC}}} that we are using for our backing bean. The first thing we notice is that it inherits from [http://shale.apache.org/shale-view AbstractViewController]. This class gives us some hooks (callbacks) into some Shale added lifecycle methods so that we can perform certain tasks that are relevant to that particular lifecycle. The next thing to notice is that is refers to a class Person. If you look in the {{{faces-config.xml}}} file again you will find the following declaration: + Lets take a closer look at the bean {{{com.acme.test.TestViewController}}} that we are using for our backing bean. The first thing we notice is that it inherits from [http://shale.apache.org/shale-view AbstractViewController]. This class gives us some hooks (callbacks) into some Shale added lifecycle methods so that we can perform certain tasks that are relevant to that particular lifecycle. The next thing to notice is that is refers to a class Person. If you look in the {{{faces-config.xml}}} file again you will find the following declaration: {{{ managed-bean id=person @@ -397, +397 @@ /managed-bean }}} - If you look at the above definition you will see that Person has been declared as a managed bean. Because Person is defined as a managed bean, Shale will inject it into our page2 definition because we instructed it to through the use of the managed-property section. Since Person has a scope of session it will be persisted between request so that any value that we set on one request will be available on the next. Finally we see that we define a method sayHello on the TestVC bean, and that we refer to that method in the page2Body.html in the âactionâ attribute (: [EMAIL PROTECTED]). + If you look at the above definition you will see that Person has been declared as a managed bean. Because Person is defined as a managed bean, Shale will inject it into our page2 definition because we instructed it to through the use of the managed-property section. Since Person has a scope of session it will be persisted between request so that any value that we set on one request will be available on the next. Finally we see that we define a method sayHello on the TestViewController bean, and that we refer to that method in the page2Body.html in the âactionâ attribute (: [EMAIL PROTECTED]). One of the thing that separate Java``Server Faces from an ordinary webapplication is that most interaction with the server is through http POST. This means that all fields and actions must be surrounded with a form tag. @@ -424, +424 @@ /navigation-rule }}} - In TestVC.sayHello we returned the string page3, and in the navigation rules we see that this will send us to /page3.jsf. You can define many navigation rules, and also note that a navigation rule
[Shale Wiki] Update of ShaleAndClayTutorial by Hermod Opstvedt
Dear Wiki user, You have subscribed to a wiki page or wiki category on Shale Wiki for change notification. The following page has been changed by Hermod Opstvedt: http://wiki.apache.org/shale/ShaleAndClayTutorial -- Your project should now compile ok. Now comes the time to look at the project it self and how it is organized. If you expand your project it should look something like this: - attachment:ShaleClay7.jpg + attachment:ShaleClay7.png In the Java sourcefolder (src/main/java) under the packagename you provided you should find two classes: Person and TestViewController.
[Shale Wiki] Update of CreatingClayComponents by Hermod Opstvedt
Dear Wiki user, You have subscribed to a wiki page or wiki category on Shale Wiki for change notification. The following page has been changed by Hermod Opstvedt: http://wiki.apache.org/shale/CreatingClayComponents -- Here we have defined our reusable components as elements (respecting the rendered) and defined actual values to substitute the symbols with. + Next we need to add an entry in the faces-config.xml file so that the navigation rules reflect our new page: + + {{{ + navigation-case + from-outcomepersonreg/from-outcome + to-view-id/personreg.jsf/to-view-id + /navigation-case + + }}} + The last thing we need to do is to add another entry in our menu structure which is defined in defaultLeftNav.html (in folder pages): {{{ li
[Shale Wiki] Update of CreatingClayComponents by Hermod Opstvedt
Dear Wiki user, You have subscribed to a wiki page or wiki category on Shale Wiki for change notification. The following page has been changed by Hermod Opstvedt: http://wiki.apache.org/shale/CreatingClayComponents -- }}} + Then we need to define the page as a view in the clay-views-config.xml file: + + {{{ + component jsfid=/personreg.jsf extends=baseLayout + symbols + set name=title value=#{messages['personreg.title']} / + set name=bodyContent value=/pages/personreg.html / + /symbols + /component + }}} + The last thing we need to do is to add another entry in our menu structure which is defined in defaultLeftNav.html (in folder pages): {{{ li
[Shale Wiki] Update of CreatingClayComponents by Hermod Opstvedt
Dear Wiki user, You have subscribed to a wiki page or wiki category on Shale Wiki for change notification. The following page has been changed by Hermod Opstvedt: http://wiki.apache.org/shale/CreatingClayComponents -- symbols set name=adresslegend value=#{messages['adresspanel.text']}/set set name=streetadressLabel value=#{messages['streetadress.label']}/set - set name=streetadressFeield value=[EMAIL PROTECTED]'streetadress']}/set + set name=streetadressField value=[EMAIL PROTECTED]'streetadress']}/set set name=zipcodeLabel value=#{messages['zipcode.label']}/set - set name=zipcodeFelt value=[EMAIL PROTECTED]'zipcode']}/set + set name=zipcodeField value=[EMAIL PROTECTED]'zipcode']}/set set name=cityLabel value=#{messages['city.label']}/set set name=cityField value=[EMAIL PROTECTED]'city']}/set /symbols
[Shale Wiki] Update of CreatingClayComponents by Hermod Opstvedt
Dear Wiki user, You have subscribed to a wiki page or wiki category on Shale Wiki for change notification. The following page has been changed by Hermod Opstvedt: http://wiki.apache.org/shale/CreatingClayComponents -- * zipcode - Short[[BR]] * city - String[[BR]] - * zipcodes - Short[] = new Short[] {51000, 51001, 51002, 51020, 51030, 51050, 51100, 51200}[[BR]] + * zipcodes - Integer[] = new Integer[] {51000, 51001, 51002, 51020, 51030, 51050, 51100, 51200}[[BR]] Create getters/setter for except for the zipcodes which only require a getter (read-only).
[Shale Wiki] Update of CreatingClayComponents by Hermod Opstvedt
Dear Wiki user, You have subscribed to a wiki page or wiki category on Shale Wiki for change notification. The following page has been changed by Hermod Opstvedt: http://wiki.apache.org/shale/CreatingClayComponents -- Define the following in faces-config.xml file {{{ - managed-bean id=personReg + managed-bean id=personreg - managed-bean-namepersonReg/managed-bean-name + managed-bean-namepersonreg/managed-bean-name managed-bean-class com.acme.test.PersonVC /managed-bean-class
[Shale Wiki] Update of ShaleAndClayTutorial by Hermod Opstvedt
Dear Wiki user, You have subscribed to a wiki page or wiki category on Shale Wiki for change notification. The following page has been changed by Hermod Opstvedt: http://wiki.apache.org/shale/ShaleAndClayTutorial -- == Preface == - This tutorial is based on Maven and Eclipse. The guidelines also apply to any other scenario, but you must find the appropriate way of doing it within your IDE. The attachment:ShaleClay.zip file contains a complete Maven/Eclipse project which you may use as basis for this. + This tutorial is based on Maven and Eclipse. The guidelines also apply to any other scenario, but you must find the appropriate way of doing it within your IDE. The attachment:ShaleClay.zip (you will need to add the dependent jar files to the WEB-INF/llib folder manually or by running mvn war:inplace) file contains a complete Maven/Eclipse project which you may use as basis for this. The easiest way to get started with Shale and Clay is by starting with the Maven2 clay-starter archetype.
[Shale Wiki] Update of ShaleAndClayTutorial by Hermod Opstvedt
Dear Wiki user, You have subscribed to a wiki page or wiki category on Shale Wiki for change notification. The following page has been changed by Hermod Opstvedt: http://wiki.apache.org/shale/ShaleAndClayTutorial -- Since the archetype currently has not made its way into the distribution, you will need to get the archetype from the Shale Subversion repository located at: - https://svn.apache.org/repos/asf/shale/maven/archetypes/shale-clay-starter-archetype + https://svn.apache.org/repos/asf/shale/maven/trunk/archetypes/shale-clay-starter-archetype After you have downloaded the sources, you need to run the following Maven2 command in the shale-starter-archetype directory:
[Shale Wiki] Update of ShaleAndClayTutorial by Hermod Opstvedt
Dear Wiki user, You have subscribed to a wiki page or wiki category on Shale Wiki for change notification. The following page has been changed by Hermod Opstvedt: http://wiki.apache.org/shale/ShaleAndClayTutorial -- /managed-bean }}} - If you look at the above definition you will see that Person has been declared as a managed bean. Because Person is defined as a managed bean, Shale will inject it into our page2 definition because we instructed it to through the use of the managed-property section. Since Person has a scope of session it will be persisted between request so that any value that we set on one request will be available on the next. Finally we see that we define a method sayHello on the TestViewController bean, and that we refer to that method in the page2Body.html in the âactionâ attribute (: [EMAIL PROTECTED]). + If you look at the above definition you will see that Person has been declared as a managed bean. Because Person is defined as a managed bean, Shale will inject it into our page2 definition because we instructed it to through the use of the managed-property section. Since Person has a scope of session it will be persisted between request so that any value that we set on one request will be available on the next. Finally we see that we define a method sayHello on the Test''View''Controller bean, and that we refer to that method in the page2Body.html in the âactionâ attribute (: [EMAIL PROTECTED]). One of the thing that separate Java``Server Faces from an ordinary webapplication is that most interaction with the server is through http POST. This means that all fields and actions must be surrounded with a form tag. @@ -424, +424 @@ /navigation-rule }}} - In TestViewController.sayHello we returned the string page3, and in the navigation rules we see that this will send us to /page3.jsf. You can define many navigation rules, and also note that a navigation rule always must have a from view. If you use the asterix (*) then that will mean that unless otherwise specified the outcomes become global rules. + In Test''View''Controller.sayHello we returned the string page3, and in the navigation rules we see that this will send us to /page3.jsf. You can define many navigation rules, and also note that a navigation rule always must have a from view. If you use the asterix (*) then that will mean that unless otherwise specified the outcomes become global rules. As a result of our action page3 will be rendered. If we look at the bodyCOntent definition for page3 in the clay-views-config.xml file we will se that it refers to page3Body.html.
[Shale Wiki] Update of FrontPage by Hermod Opstvedt
Dear Wiki user, You have subscribed to a wiki page or wiki category on Shale Wiki for change notification. The following page has been changed by Hermod Opstvedt: http://wiki.apache.org/shale/FrontPage -- === Tutorials === + * [:UsingTomahawkComponents:Using Tomahwak components in Clay] * [:ShaleAndClayTutorial:Shale and Clay starter] * [:CreatingClayComponents:Creating Clay Components] * [:ReusableClayJars:Creating reusable Clay components and distribute them as jar files]
[Shale Wiki] Update of UsingTomahawkComponents by Hermod Opstvedt
Dear Wiki user, You have subscribed to a wiki page or wiki category on Shale Wiki for change notification. The following page has been changed by Hermod Opstvedt: http://wiki.apache.org/shale/UsingTomahawkComponents New page: = Getting started with Shale and Clay = == Preface == This tutorial is a sample setup for how to use special Tomahawk components like inputSuggestAjax in Clay. It is applicable to all many other components, so all you need to do is adapt the same behaviour as outlined here. === First step === Note that due to an incompatible functionality in Shale validator that wraps all rendererers with a shalevalidatingrenderer, you need to disable shale validator for this to work. The issue is in jira ( https://issues.apache.org/struts/browse/SHALE-442 ) and planned to be fixed in a day or two as of writing. First you need to add commons-chain to you project. Add it to ypu web-inf/lib directory, and then add the following to your web.xml file: {{{ !-- Commons Chain Configuration Resources -- context-param param-name org.apache.commons.chain.CONFIG_WEB_RESOURCE /param-name param-value/WEB-INF/chain-config.xml/param-value /context-param !-- Commons Chain Configuration Listener -- listener listener-class org.apache.commons.chain.web.ChainListener /listener-class /listener }}} You can of course name you config file whatever you like, but the convention is chain-config.xml as shown here. Then add to your existing chain-config.xml file or create a new one: {{{ ?xml version=1.0 encoding=UTF-8? catalogs .. catalog name=clayCustomization chain name=suggestedItemsMethod command className=com.opstvedt.osseil.component.chain.myfaces.PropertyListenerCommand / /chain chain name=itemLabelMethod command className=com.opstvedt.osseil.component.chain.myfaces.PropertyListenerCommand / /chain /catalog /catalogs }}} The thing to note here is the name of the chain's. They must be the same as the attribute names of the component that you are planning to use. The inputSuggestAjax component is defined (in Clay) as: {{{ component jsfid=s:inputSuggestAjax componentType=org.apache.myfaces.InputSuggestAjax extends=baseComponent description Provides an input textbox with suggest functionality, using an ajax request to the server. /description attributes set name=id bindingType=VB description The developer-assigned ID of this component. The ID must be unique within the scope of the tag's enclosing naming container (e.g. h:form or f:subview). This value must be a static value. /description /set set name=value bindingType=VB description The initial value of this component. /description /set ... set name=suggestedItemsMethod bindingType=MB description Reference to the method which returns the suggested items /description /set set name=maxSuggestedItems bindingType=VB description optional attribute to identify the max size of suggested Values. If specified in tableSuggestAjax, paginator functionality is used. /description /set set name=itemLabelMethod bindingType=MB description Method which gets a suggested Object as an argument and returns a calculated String label. With this attribute it is possible to achieve the same mechanism as it can be found at select menues with the label/value pair. /description /set ...
[Shale Wiki] Update of UsingTomahawkComponents by Hermod Opstvedt
Dear Wiki user, You have subscribed to a wiki page or wiki category on Shale Wiki for change notification. The following page has been changed by Hermod Opstvedt: http://wiki.apache.org/shale/UsingTomahawkComponents -- - = Getting started with Shale and Clay = + = Using inputSuggestAjax with Shale and Clay = == Preface ==
[Shale Wiki] Update of UsingTomahawkComponents by Hermod Opstvedt
Dear Wiki user, You have subscribed to a wiki page or wiki category on Shale Wiki for change notification. The following page has been changed by Hermod Opstvedt: http://wiki.apache.org/shale/UsingTomahawkComponents -- */ static { methodBindAttrs.put(suggestedItemsMethod, new Class[]{String.class, Integer.class}); - methodBindAttrs.put(itemLabelMethod, new Class[]{String.class}); + methodBindAttrs.put(itemLabelMethod, new Class[]{Object.class}); }; /**
[Shale Wiki] Update of UsingMyFacesWithShaleClay by ChrisSchulz
Dear Wiki user, You have subscribed to a wiki page or wiki category on Shale Wiki for change notification. The following page has been changed by ChrisSchulz: http://wiki.apache.org/shale/UsingMyFacesWithShaleClay -- * UsingPopupComponent + * UsingTree2
[Shale Wiki] Update of UsingTree2 by ChrisSchulz
Dear Wiki user, You have subscribed to a wiki page or wiki category on Shale Wiki for change notification. The following page has been changed by ChrisSchulz: http://wiki.apache.org/shale/UsingTree2 New page: A simple t:tree2 example as jsp:root-include looks like this (originally from [http://www.irian.at/myfaces/tree2.jsf] with TreeBacker as managed bean): {{{ jsp:root xmlns:jsp=http://java.sun.com/JSP/Page; version=2.0 xmlns:f=http://java.sun.com/jsf/core; xmlns:h=http://java.sun.com/jsf/html; xmlns:t=http://myfaces.apache.org/tomahawk; xmlns:c=http://shale.apache.org/clay; f:view h:form id=vps t:tree2 id=clientTree showLines=false showRootNode=false showNav=true value=[EMAIL PROTECTED] var=vpStrukturNode varNodeToggler=vpT clientSideToggle=false imageLocation=/img javascriptLocation=src preserveToggle=false f:facet name=foo-folder h:panelGroup h:outputText value=#{vpStrukturNode.description} styleClass=nodeFolder/ /h:panelGroup /f:facet f:facet name=bar-folder h:panelGroup h:outputText value=#{vpStrukturNode.description} styleClass=nodeFolder/ /h:panelGroup /f:facet f:facet name=person h:panelGroup h:outputText value=#{vpStrukturNode.description}/ /h:panelGroup /f:facet f:facet name=dynamic-person h:panelGroup h:outputText value=#{vpStrukturNode.description}/ /h:panelGroup /f:facet f:facet name=document h:panelGroup h:outputText value=#{vpStrukturNode.description}/ /h:panelGroup /f:facet /t:tree2 /h:form /f:view /jsp:root }}} As real clay-component (defined in clay-config.xml) it would look like the following: {{{ ... view ... component... ... element renderId=1 jsfid=t:tree2 attributes set name=id value=clientTree/ set name=showLines value=false/ set name=showRootNode value=false/ set name=showNav value=true/ set name=value value=[EMAIL PROTECTED]/ set name=var value=vpStrukturNode/ set name=varNodeToggler value=vpT/ set name=clientSideToggle value=false/ set name=imageLocation value=/img/ set name=javascriptLocation value=src/ set name=preserveToggle value=false/ /attributes element renderId=1 jsfid=panelGroup facetName=foo-folder element renderId=1 jsfid=outputText attributes set name=value value=#{vpStrukturNode.description} / set name=styleClass value=nodeFolder / /attributes /element /element element renderId=2 jsfid=panelGroup facetName=bar-folder element renderId=1 jsfid=outputText attributes set name=value value=#{vpStrukturNode.description} / set name=styleClass value=nodeFolder / /attributes /element /element element renderId=3 jsfid=panelGroup facetName=person element renderId=1 jsfid=outputText attributes set name=value value=#{vpStrukturNode.description} / /attributes /element /element element renderId=4 jsfid=panelGroup facetName=dynamic-person element renderId=1 jsfid=outputText attributes set name=value value=#{vpStrukturNode.description} / /attributes /element /element element renderId=5 jsfid=panelGroup facetName=document element renderId=1 jsfid=outputText attributes set name=value value=#{vpStrukturNode.description} / /attributes /element /element /element ... /component... ... /view ... }}}
[Shale Wiki] Update of Carolina+Coast+ by WendySmoak
Dear Wiki user, You have subscribed to a wiki page or wiki category on Shale Wiki for change notification. The following page has been changed by WendySmoak: http://wiki.apache.org/shale/Carolina+Coast+ The comment on the change is: spam -- - NAGS HEAD, N.C. (AP) â Tropical Storm Gabrielle began to shower North Carolina's Outer Banks with rain and batter them with high winds Sunday as the storm slogged slowly toward the coast. + deleted - Forecasters expected the storm to increase its wind speed slightly â though not to hurricane levels â before swiping the state's barrier islands on Sunday. After a brief landfall, Gabrielle was expected to take a sharp turn back into the Atlantic, the National Weather Service said. - - All things considered, it's a pretty weak storm, said Casey Quell, a NWS forecaster in Morehead City. More than anything, it will bring some much-needed rain. - - The storm carried top sustained winds of about 45 mph as of 5 a.m. Sunday, the National Weather Service reported. But those winds could strengthen to near 50 mph as Gabrielle nears the coast, according to the weather service. - - Gabrielle's center was located about 50 miles southeast of Cape Lookout and was moving slowly â about 10 mph â to the north-northwest. - - Forecasters issued a tropical storm warning for the North Carolina coastline north of Surf City through the Outer Banks and to the Virginia border. A tropical storm warning was also issued northward to Cape Charles Light, Va., along the Atlantic Coast, and a watch remains in effect for the area extending to New Point Comfort peninsula, along the Chesapeake Bay. - - Local officials urged residents and visitors at the vacation hotspot to secure loose items and to stay indoors as the storm blows through. - - Austin Lucas, a manager at Howard's Pub on Ocracoke Island, said workers there tied down furniture that was on the roof. But beyond that, he said everyone was just waiting to see when the storm would come. - - We haven't really taken any severe precautions, Lucas said Sunday morning. Nobody's too concerned about it. - - The National Park Service closed all campgrounds on the Cape Hatteras National Seashore. But they did not ask or recommend that people leave the islands. - - When people hear about tropical storms, they assume houses are going to fall in the ocean, said Margot Jolly, a lifeguard with Nags Heads Ocean Rescue. They shouldn't overreact like that. Just relax, stay inside, and have a little hurricane party. - - Gabrielle's first showers reached the coastline late Saturday night. Quell said the storm could produce a storm surge of up to 3 feet, with 1 to 3 inches of rain falling in coastal areas and up to 5 inches in isolated spots. - - The greatest danger will be flooding in low lying areas and on roads, such as Highway 12 on the Outer Banks, said North Carolina Gov. Mike Easley. The most deaths during tropical storms occur when people drive into flood waters and drown. Rip currents will be strong in the ocean. - - Rip currents had already caused problems Saturday. David Baker, the Ocean Rescue director for the Wrightsville Beach Fire Department about 150 miles south of Nags Head, told The Star-News of Wilmington that lifeguards rescued about a dozen people from the water because of rip currents. - - Gabrielle spun into the storm late Friday after wandering in the Atlantic for several days, caught along an old frontal boundary that stalled about midway between the Southeast coast and Bermuda. Forecasters first labeled it a subtropical storm â a hybrid system that takes power from warm ocean waters but also forms from warm and cold fronts colliding â before classifying it a tropical system Saturday. - - WOW Gold,buy WOW Gold [http://www.isefc.com.cn/ wow gold] - powerleveling [http://www.isefc.com.cn/powerleveling.asp powerleveling] - world of warcraft gold [http://www.isefc.com.cn/ world of warcraft gold] - Burglar alarm [http://www.teamflyelectronic.com/ Burglar alarm] - [http://www.electronic-wire.com/ cables] - [http://www.isefc.com.cn/powerleveling.asp powerleveling] - - We've been asking residents to be prepared for anything, said Chris Baucom, a spokesman for Dare County Emergency Management. This storm's track has been kind of unpredictable. - - All of North Carolina's counties are facing drought conditions, with 91 percent under a severe drought. Easley asked Friday that all the state's local governments immediately enact voluntary or mandatory water restrictions. -
[Shale Wiki] Update of Globe+Correspondent by WendySmoak
Dear Wiki user, You have subscribed to a wiki page or wiki category on Shale Wiki for change notification. The following page has been changed by WendySmoak: http://wiki.apache.org/shale/Globe+Correspondent -- + deleted - But community health centers draw patients for a number of reasons. They offer one-stop shopping, which can include dental care, substance abuse treatment, - pediatric and prenatal care, and social services. Most have child care and translators on site for non-English speakers. - With the new Massachusetts health insurance law boosting the number of patients seeking care, community health centers south of Boston are scrambling to meet - the demand. - - Sign up for: Globe Headlines e-mail | Breaking News Alerts Manet Community Health Center, which has four locations in Quincy and one in Hull, is hiring two - new family care physicians and a nurse practitioner. Brockton Neighborhood Health Center now stays open two hours later on weeknights. In February, it hired - a nurse practitioner, two medical assistants, and two social workers, and is planning to hire 20 more staff members in the next six months. - - We've seen a really significant increase in visits by new patients, said Sue Joss, executive director of the Brockton health center. Our phones are - ringing off the hook for new patients. - - The two centers are the only ones directly south of Boston. But community health centers in Fall River and New Bedford, which also serve people from this - region, are experiencing the same increase in demand, and expanding hours to meet it. - - The state's universal health insurance law, which is being rolled out this year, is bringing formerly uninsured people into the healthcare system. Many of - these individuals and families are turning to community health centers, the locally based nonprofit organizations that arose from the antipoverty movement of - the 1960s. - - We are front and center in the new healthcare legislation, said Kerin O'Toole, spokeswoman for the Massachusetts League of Community Health Centers. We've - seen quite a surge in demand. Although in many cases patients could go elsewhere, the health centers offer a whole range of services you can't get from a - private provider. - - The nation's first community health center opened at Columbia Point in Dorchester in 1965 as part of President Johnson's war on poverty. - - Similar centers, supported by federal aid and private grants, opened across the country in poor and medically underserved areas. Today, the United States has - more than a thousand centers, 52 of them in Massachusetts. - - Business is thriving. In April, the Brockton center on Main Street saw a 12 percent spike in patient visits over last year, and in May, a 9 percent increase. - A new $16 million center is under construction next to the cramped downtown facility and is scheduled to open in November. - - Statewide, patient loads at community health centers have been on the rise. In 2006, centers in Massachusetts saw 760,301 patients, an increase of nearly - 94,000, or 14 percent, over the previous year. - - The surge in demand at community health centers with the new law was not fully expected. The centers have long been a safety net in the healthcare system - - places where people could go whether they had insurance or not. The insured usually have many choices when seeking care - - Sign up for: Globe Headlines e-mail | Breaking News Alerts People are more aware of the community health centers and the services we provide, said Sheryl - Turgeon, chief executive officer of Healthfirst, which draws patients from Fall River and nearby towns. - - Community health centers also do outreach for Commonwealth Care, the new state health insurance program, and visitors to most centers can sign up for health - insurance on the spot. - - The heavy promotions the state has been doing to get the uninsured to sign up and take advantage of healthcare also seems to be a factor in the increasing - number of visits, according to Toni McGuire, chief executive officer of the Manet center. - - I think one of the biggest reasons for the increase is the advertising around Commonwealth Care, McGuire said. Said Joss of the Brockton center, There was - never this kind of publicity around the free-care pool. - - In the past, institutions that treated the uninsured were compensated by a pool of money administered by the state and paid into by hospitals and other large - providers. - - Another reason that community health centers are seeing more patients is that three of the four insurers working with Commonwealth Care tend to direct - subscribers to the centers, according to Alan Sager, director of the health reform program at Boston University School of Public Health. - - Sager said he is concerned that some community health centers
[Shale Wiki] Update of wow+power+leveling by loki002
Dear Wiki user, You have subscribed to a wiki page or wiki category on Shale Wiki for change notification. The following page has been changed by loki002: http://wiki.apache.org/shale/wow+power+leveling New page: Baseball gave him his earliest challenge. He was an outstanding pitcher in Little League, and eventually, as a senior in high school, made the [http://www.toppowerlevel.net wow powerleveling] varsity, winning half the teamâs games with a record of five wins and two losses. At graduation, the coach named Daniel the [http://www.toppowerlevel.net wow power level] teamâs most valuable player. ããHis finest hour, though, came at a school science fair. He entered an exhibit showing how the [http://www.toppowerlevel.net wow power leveling] circulatory system works. It was primitive and crude, especially compared to the fancy, computerized, blinking-light models entered by other [http://www.toppowerlevel.net wow power level] students. My wife, Sara, felt embarrassed for him. ããIt turned out that the other kids [http://www.toppowerlevel.net wow power leveling] had not done their own work-their parents had made their exhibits. As the judges went on their rounds, they found that these other kids couldnât answer their questions. Daniel answered every one. When the judges awarded the [http://www.toppowerlevel.net/powerlist.php?fid=2871 lotro power leveling] Albert Einstein Plaque for the best exhibit, they gave it to him. ããBy the time Daniel left for [http://www.toppowerlevel.net/powerlist.php?fid=2871 lotro power leveling] he stood six feet tall and weighed 170 pounds. He was muscular and in superb [http://www.toppowerlevel.net wow powerleveling] condition, but he never pitched another inning, having given up baseball for English literature. I was sorry that he would not develop his athletic talent, but proud that he had made such a mature decision. ããOne day I told Daniel that the great failing in my [http://www.toppowerlevel.net wow power leveling] life had been that I didnât take a year or two off to travel when I finished college. This is the best way, to my way of thinking, to broaden oneself and develop a larger perspective on life. Once I had married and begun working, I found that the dream of [http://www.toppowerlevel.net/powerlist.php?fid=2871 lotro power leveling] in another culture had vanished. ããDaniel thought about this. His friends said that he would be insane to put his career on [http://www.toppowerlevel.net wow powerleveling]. But he decided it wasnât so crazy. After graduation, he worked as a waiter at college, a bike messenger and a house painter. With the money he earned, he had enough to go to [http://www.toppowerlevel.net wow power level] Paris. ããThe [http://www.toppowerlevel.net/powerlist.php?fid=2871 lotro power leveling] before he was to leave, I tossed in bed. I was trying to figure out something to say. Nothing came to mind. Maybe, I thought [http://www.toppowerlevel.net wow power leveling], it wasnât necessary to say anything. ããWhat does it matter in the course of a [http://www.toppowerlevel.net wow power level] if a father never tells a son what he really thinks of him? But as I stood before Daniel, I knew that it does matter. My father and I loved each other. Yet, I always regretted never hearing him put his feelings into words and never having the memory of that moment. Now, I could feel my palms sweat and my throat tighten. Why is it so hard to tell a son something from the heart? My mouth turned dry, and I knew I would be able to get out only a few [http://www.toppowerlevel.net/powerlist.php?fid=2871 lotro power leveling] words clearly. ããâDaniel, I said, if I could have picked [http://www.toppowerlevel.net wow powerleveling], I would have picked you. ããThatâs all I could say. I wasnât sure he understood what I meant. Then he came toward me and threw his arms around me. For a moment, the [http://www.toppowerlevel.net wow power leveling] world and all its people vanished, and there was just Daniel and me in our home by the sea. ããHe was saying [http://www.toppowerlevel.net wow powerleveling], but my eyes misted over, and I couldnât understand what he was saying. All I was aware of was the stubble on his chin as his face pressed against mine. And then, the [http://www.toppowerlevel.net/powerlist.php?fid=2871 lotro powerleveling]. I went to [http://www.toppowerlevel.net wow power level] work, and Daniel left a few hours later with his girlfriend. ããThat was seven weeks ago, and I think about [http://www.toppowerlevel.net/powerlist.php?fid=2871 lotro powerleveling] when I walk along the beach on weekends. Thousands of miles away, somewhere out past the ocean waves breaking on the [http://www.toppowerlevel.net/powerlist.php?fid=2871 lotro power level] deserted shore, he might be scurrying across Boulevard Saint Germain, strolling
[Shale Wiki] Update of wow+power+leveling by WendySmoak
Dear Wiki user, You have subscribed to a wiki page or wiki category on Shale Wiki for change notification. The following page has been changed by WendySmoak: http://wiki.apache.org/shale/wow+power+leveling The comment on the change is: delete spam -- - Baseball gave him his earliest challenge. He was an outstanding pitcher in Little League, and eventually, as a senior in high school, made the [http://www.toppowerlevel.net wow powerleveling] varsity, winning half the teamâs games with a record of five wins and two losses. At graduation, the coach named Daniel the [http://www.toppowerlevel.net wow power level] teamâs most valuable player. + deleted - ããHis finest hour, though, came at a school science fair. He entered an exhibit showing how the [http://www.toppowerlevel.net wow power leveling] circulatory system works. It was primitive and crude, especially compared to the fancy, computerized, blinking-light models entered by other [http://www.toppowerlevel.net wow power level] students. My wife, Sara, felt embarrassed for him. - - ããIt turned out that the other kids [http://www.toppowerlevel.net wow power leveling] had not done their own work-their parents had made their exhibits. As the judges went on their rounds, they found that these other kids couldnât answer their questions. Daniel answered every one. When the judges awarded the [http://www.toppowerlevel.net/powerlist.php?fid=2871 lotro power leveling] Albert Einstein Plaque for the best exhibit, they gave it to him. - - ããBy the time Daniel left for [http://www.toppowerlevel.net/powerlist.php?fid=2871 lotro power leveling] he stood six feet tall and weighed 170 pounds. He was muscular and in superb [http://www.toppowerlevel.net wow powerleveling] condition, but he never pitched another inning, having given up baseball for English literature. I was sorry that he would not develop his athletic talent, but proud that he had made such a mature decision. - - ããOne day I told Daniel that the great failing in my [http://www.toppowerlevel.net wow power leveling] life had been that I didnât take a year or two off to travel when I finished college. This is the best way, to my way of thinking, to broaden oneself and develop a larger perspective on life. Once I had married and begun working, I found that the dream of [http://www.toppowerlevel.net/powerlist.php?fid=2871 lotro power leveling] in another culture had vanished. - - ããDaniel thought about this. His friends said that he would be insane to put his career on [http://www.toppowerlevel.net wow powerleveling]. But he decided it wasnât so crazy. After graduation, he worked as a waiter at college, a bike messenger and a house painter. With the money he earned, he had enough to go to [http://www.toppowerlevel.net wow power level] Paris. - - ããThe [http://www.toppowerlevel.net/powerlist.php?fid=2871 lotro power leveling] before he was to leave, I tossed in bed. I was trying to figure out something to say. Nothing came to mind. Maybe, I thought [http://www.toppowerlevel.net wow power leveling], it wasnât necessary to say anything. - - ããWhat does it matter in the course of a [http://www.toppowerlevel.net wow power level] if a father never tells a son what he really thinks of him? But as I stood before Daniel, I knew that it does matter. My father and I loved each other. Yet, I always regretted never hearing him put his feelings into words and never having the memory of that moment. Now, I could feel my palms sweat and my throat tighten. Why is it so hard to tell a son something from the heart? My mouth turned dry, and I knew I would be able to get out only a few [http://www.toppowerlevel.net/powerlist.php?fid=2871 lotro power leveling] words clearly. - - ããâDaniel, I said, if I could have picked [http://www.toppowerlevel.net wow powerleveling], I would have picked you. - - ããThatâs all I could say. I wasnât sure he understood what I meant. Then he came toward me and threw his arms around me. For a moment, the [http://www.toppowerlevel.net wow power leveling] world and all its people vanished, and there was just Daniel and me in our home by the sea. - - ããHe was saying [http://www.toppowerlevel.net wow powerleveling], but my eyes misted over, and I couldnât understand what he was saying. All I was aware of was the stubble on his chin as his face pressed against mine. And then, the [http://www.toppowerlevel.net/powerlist.php?fid=2871 lotro powerleveling]. I went to [http://www.toppowerlevel.net wow power level] work, and Daniel left a few hours later with his girlfriend. - - ããThat was seven weeks ago, and I think about [http://www.toppowerlevel.net/powerlist.php?fid=2871 lotro powerleveling] when I walk along the beach on weekends. Thousands of miles away, somewhere out past the ocean waves
[Shale Wiki] Update of ReleasePlan105 by GregReddin
Dear Wiki user, You have subscribed to a wiki page or wiki category on Shale Wiki for change notification. The following page has been changed by GregReddin: http://wiki.apache.org/shale/ReleasePlan105 -- This is not so much a Release Plan page as it is a log of the procedures used to produce the upcoming 1.0.5 release. It will be updated as procedures are done. + == Release Master POM == + + 2 commands to release the master pom. + + {{{ + mvn release:prepare -Dusername=YOURUSERNAME -Dpassword=YOURPASSWORD + + mvn release:perform -Dusername=YOURUSERNAME -Dpassword=YOURPASSWORD + }}} +
[Shale Wiki] Update of ReleasePlan105 by GregReddin
Dear Wiki user, You have subscribed to a wiki page or wiki category on Shale Wiki for change notification. The following page has been changed by GregReddin: http://wiki.apache.org/shale/ReleasePlan105 -- == Release Master POM == - 2 commands to release the master pom. + Used the following 2 commands to release the master pom. {{{ mvn release:prepare -Dusername=YOURUSERNAME -Dpassword=YOURPASSWORD @@ -14, +14 @@ mvn release:perform -Dusername=YOURUSERNAME -Dpassword=YOURPASSWORD }}} + Maven did not do the GPG signing bit so I performed the following steps: + + {{{ + cd target/ + gpg --armor --output shale-master-3.pom.asc --detach-sig pom.xml + scp shale-master-3.pom.asc people.apache.org:/www/people.apache.org/builds/shale/m2-staging-repository/org/apache/shale/shale-master/3/. + }}} + + Then to correct the file permissions on people.apache.org: + + {{{ + chmod 664 /www/people.apache.org/builds/shale/m2-staging-repository/org/apache/shale/shale-master/3/shale-master-3.pom.asc + }}} + + Called for a release vote using the following text. + + {{{ + This is the formal vote for the new Shale master POM version 3. + + I would appreciate a thorough review of these artifacts since I am a release manager newbie :-) + + You can find the signed release candidate at [1]. + + Please vote + +1 if you reviewed the new master pom and approve of it + -1 if you found a flaw or potential problem with the new master pom + + Thanks, + Greg + + [1] http://people.apache.org/builds/shale/m2-staging-repository/org/apache/shale/shale-master/3/ + }}} +
[Shale Wiki] Update of ReleasePlan105 by GregReddin
Dear Wiki user, You have subscribed to a wiki page or wiki category on Shale Wiki for change notification. The following page has been changed by GregReddin: http://wiki.apache.org/shale/ReleasePlan105 -- {{{ mvn release:prepare -Dusername=YOURUSERNAME -Dpassword=YOURPASSWORD - mvn release:perform -Dusername=YOURUSERNAME -Dpassword=YOURPASSWORD }}} + + It appears the release:perform step copied over the shale.apache.org site. We need to figure out how to tell it not to do this. Maven did not do the GPG signing bit so I performed the following steps:
[Shale Wiki] Update of ReleasePlan105 by GregReddin
Dear Wiki user, You have subscribed to a wiki page or wiki category on Shale Wiki for change notification. The following page has been changed by GregReddin: http://wiki.apache.org/shale/ReleasePlan105 -- [1] http://people.apache.org/builds/shale/m2-staging-repository/org/apache/shale/shale-master/3/ }}} + Copy release artifacts from staging area to live repository: + + {{{ + cp -r /www/people.apache.org/builds/shale/m2-staging-repository/org/apache/shale/shale-master /www/people.apache.org/repo/m2-ibiblio-rsync-repository/org/apache/shale/. + }}} +
[Shale Wiki] Update of ReleasePlan105 by GregReddin
Dear Wiki user, You have subscribed to a wiki page or wiki category on Shale Wiki for change notification. The following page has been changed by GregReddin: http://wiki.apache.org/shale/ReleasePlan105 -- cp -r /www/people.apache.org/builds/shale/m2-staging-repository/org/apache/shale/shale-master /www/people.apache.org/repo/m2-ibiblio-rsync-repository/org/apache/shale/. }}} + == Release Framework == + + Followed steps outlined in ReleaseProcess to edit Jira. + + 1. Added Jira version 1.0.5 + 2. Moved 2 unresolved issues from 1.0.5-SNAPSHOT to Unknown + 3. Moved 32 remaining issues from 1.0.5-SNAPSHOT to 1.0.5. + 4. Archived 1.0.5-SNAPSHOT +
[Shale Wiki] Update of ReleasePlan105 by GregReddin
Dear Wiki user, You have subscribed to a wiki page or wiki category on Shale Wiki for change notification. The following page has been changed by GregReddin: http://wiki.apache.org/shale/ReleasePlan105 -- 3. Moved 32 remaining issues from 1.0.5-SNAPSHOT to 1.0.5. 4. Archived 1.0.5-SNAPSHOT + Created release-notes-1.0.5.html document for release notes. + + Do a dry run of the release prepare to see what it generates: + + {{{ + mvn -DdryRun=true -Prelease,apps,dist clean release:prepare + }}} + + Run Maven release process on 1_0_X branch: + + {{{ + mvn -Dusername=SVN_USERNAME -Dpassword=SVN_PASSWORD -Prelease,apps,dist clean release:prepare + mvn -Dusername=SVN_USERNAME -Dpassword=SVN_PASSWORD -Prelease,apps,dist clean release:perform + }}} +
[Shale Wiki] Update of ReleasePlan105 by GregReddin
Dear Wiki user, You have subscribed to a wiki page or wiki category on Shale Wiki for change notification. The following page has been changed by GregReddin: http://wiki.apache.org/shale/ReleasePlan105 -- Run Maven release process on 1_0_X branch: + On at least one instance trying to do a full shale build I had to give Maven more memory to work with: + + {{{ + MAVEN_OPTS=-Xmx1024m -Xms512m + export MAVEN_OPTS + }}} {{{ mvn -Dusername=SVN_USERNAME -Dpassword=SVN_PASSWORD -Prelease,apps,dist clean release:prepare mvn -Dusername=SVN_USERNAME -Dpassword=SVN_PASSWORD -Prelease,apps,dist clean release:perform
[Shale Wiki] Update of samzhou by samzhou
Dear Wiki user, You have subscribed to a wiki page or wiki category on Shale Wiki for change notification. The following page has been changed by samzhou: http://wiki.apache.org/shale/samzhou New page: 1.Quality Guarantee DE-YING [http://www.towercrane-cn.com tower crane] has been awarded Famous Product by Jiaxing Famous Product Accreditation Committee, and gained the certificate of ISO9001:2000 and CE certificate by SGS. 2.Enterprise Credit DEYING is awarded Credit Aââ Contract observer, Credit Keeper by Pinghu Administration of Industry and Commerce. 3. Cost efficiency DEYING is the leader among manufacturers of [http://www.towercrane-cn.com tower crane manufacture] base in Zhejiang Province. 4.Technique We inherit Potain technique and modify with state-of-art equipment, which leads to our up-to-day products. We apply crassitude drum technique, which will solve the common problem that wire rope twists when in service. 5. Manufacturing Quality Zhejiang Deying Architectural Machinery Manufacture Co.,Ltd has got the qualification of [http://www.towercrane-cn.com tower crane manufacturing] with Manufacture License of Special Equipment People's Republic of China. [http://www.towercrane-cn.com/page/DEYING%20products.asp Tower crane dealer], [http://www.towercrane-cn.com/page/DEYING%20products.asp tower crane Seller] 6.Safety Tower crane belongs to special equipment of People's Republic of China, the safety of tower crane is closely relative to people's life and property. DEYING equips safety protector. Weight limiter uses pull-ring structure made by foreign advanced technique. Moment limiter is adaptable in hash wildness environment and ensures the limiter is sensitive and reliable to avoid security accidents caused of malpractice operation of tower crane, like doverload. 7. Production Process â Welding: We apply CO2 gas shielded weldingï¼inverted automatic submerged arc welding machine welding, semi-automatictrolley-style welding, and arrange instruction, assessment and confirmation of special process. â¡mechanical processing: Standard fixture for mast sections and joint guarantees the processing precision. â¢Paint spray: We apply shot-blast before manual painting to improve the surface intensity so that the paint could last longer like fresh. 8. Specialization and standardization The factory is equipped by full facilities, which is divided into four specialized workshop. The factory takes up 45000m2, , and is now being enlarging. We apply CNC cutting machineã Inverted automatic submerged arc welding machineãGas shielded welderãMilling machineãdouble-sided millingãshot-blastingãPaint spraying line, etc., all of which provide outstanding security for high quality of tower crane. 9.Malfunction Rate Generally, electric failure covers about 70% of the malfunction of [http://www.towercrane-cn.com/page/chinese%20Tower%20Crane%20manufactory.html tower crane]. To solve this problem, we choose Schneider electric parts and modify the system, which gives more assurance to normal performance of tower crane, bringing down malfunction rate. 10. After sales service Assist the users to make construction proposal for the first time if required. Equipment debugging installation Training operators on the spot fixes the breakdown fast and actively Provide technical supports CategoryCategory
[Shale Wiki] Update of samzhou by WendySmoak
Dear Wiki user, You have subscribed to a wiki page or wiki category on Shale Wiki for change notification. The following page has been changed by WendySmoak: http://wiki.apache.org/shale/samzhou -- - 1.Quality Guarantee + deleted - DE-YING [http://www.towercrane-cn.com tower crane] has been awarded Famous Product by Jiaxing Famous Product Accreditation Committee, and gained the certificate of ISO9001:2000 and CE certificate by SGS. - 2.Enterprise Credit - - DEYING is awarded Credit Aââ Contract observer, Credit Keeper by Pinghu Administration of Industry and Commerce. - - 3. Cost efficiency - - DEYING is the leader among manufacturers of [http://www.towercrane-cn.com tower crane manufacture] base in Zhejiang Province. - - 4.Technique - - - We inherit Potain technique and modify with state-of-art equipment, which leads to our up-to-day products. We apply crassitude drum technique, which will solve the common problem that wire rope twists when in service. - - 5. Manufacturing Quality - - Zhejiang Deying Architectural Machinery Manufacture Co.,Ltd has got the qualification of [http://www.towercrane-cn.com tower crane manufacturing] with Manufacture License of Special Equipment People's Republic of China. [http://www.towercrane-cn.com/page/DEYING%20products.asp Tower crane dealer], [http://www.towercrane-cn.com/page/DEYING%20products.asp tower crane Seller] - - 6.Safety - - Tower crane belongs to special equipment of People's Republic of China, the safety of tower crane is closely relative to people's life and property. DEYING equips safety protector. - - - Weight limiter uses pull-ring structure made by foreign advanced technique. Moment limiter is adaptable in hash wildness environment and ensures the limiter is sensitive and reliable to avoid security accidents caused of malpractice operation of tower crane, like doverload. - - 7. Production Process - - - â Welding: We apply CO2 gas shielded weldingï¼inverted automatic submerged arc welding machine welding, semi-automatictrolley-style welding, and arrange instruction, assessment and confirmation of special process. - - â¡mechanical processing: Standard fixture for mast sections and joint guarantees the processing precision. - - â¢Paint spray: We apply shot-blast before manual painting to improve the surface intensity so that the paint could last longer like fresh. - - 8. Specialization and standardization - - The factory is equipped by full facilities, which is divided into four specialized workshop. - - The factory takes up 45000m2, , and is now being enlarging. We apply CNC cutting machineã Inverted automatic submerged arc welding machineãGas shielded welderãMilling machineãdouble-sided millingãshot-blastingãPaint spraying line, etc., all of which provide outstanding security for high quality of tower crane. - - 9.Malfunction Rate - - Generally, electric failure covers about 70% of the malfunction of [http://www.towercrane-cn.com/page/chinese%20Tower%20Crane%20manufactory.html tower crane]. To solve this problem, we choose Schneider electric parts and modify the system, which gives more assurance to normal performance of tower crane, bringing down malfunction rate. - - 10. After sales service - - Assist the users to make construction proposal for the first time if required. - Equipment debugging installation - Training operators on the spot fixes the breakdown fast and actively Provide technical supports - - CategoryCategory -