12 Replies Latest reply on Oct 21, 2008 6:28 PM by elfuhrer

    Take 3 - Relationship between jboss-app.xml and *-object.xml

    nicolas duminil Novice

      Greetings,

      The 4th of September I posted a question on this forum related to the relationship between deployment descriptors: jboss-app.xml and *-object.xml. As these descriptors are JBoss specific, the only place where one may get informed is this forum. But as surprizing as it might seem, nobody seemed to be concerned. Two days latter, I posted a second time the same message, but no response.

      I don't know what am I supposed to do as I have a blocked situation du to my incomprehension of some JBoss specific deployment descriptors, but nobody from JBoss doesn't seem to be willing to help. If I used a commercial product, I would have called the support and I would have had the answer in 24 hours. In the current situation, I'm blocked since 5 days and no any hope of a solution.

      Let me try a third time: I have a web-app deploying a portlet on JBoss Portal 2.6. The application uses the JBoss Portlet Bridge and was generated by a special maven archetype, but I don't think that this detail is important. The web-app deploys correctly and the portlet is visible as soon as the app name in jboss-app.xml is "richfacesEchoApp". As I said, the web-app has been generated by the maven archetype and its default name is "richfacesEchoApp". But once generated, I changed the application and now it doesn't have anything to do with the sample echo application, accordingly I modified its name in jboss-app. I was very surprized to notice that, once the file jboss-app.xml was modified, the portlet is not any more visible after deployment. The only way I have to get things working is to keep the name "richfaceEchoApp" in jboss-app.xml

      I'm still hoping that anyone from JBoss, eventually people having paticipated at the development of JBoss Portal, feels concerned and will help me to understand this relationship.

      Kind regards,

      Nicolas

        • 1. Re: Take 3 - Relationship between jboss-app.xml and *-object
          Thomas Heute Master

          Multiple forum threads is a lock of respect for people who read the forum.

          People will more likely be able to help you if you keep 1 thread and add information to that thread instead of diluting the info into multiple threads.

          Now, about your comment about commercial products, i guess you want "the butter and the money for the butter". We do provide commercial support if you want a fast and accurate answer: sales@jboss.com will help you. See https://www.redhat.com/apps/store/jboss/

          I can only recommend you to read the reference documentation. Also drop your DB if you want to start from something clean. (rm -rf server/default/data)

          • 2. Re: Take 3 - Relationship between jboss-app.xml and *-object
            Matt Cook Newbie

            I am not sure what jboss-app does, however the -object.xml, generates "windows" of a portlet instance and tells them where they should go on the screen. It follows this structure:

            <?xml version="1.0" encoding="UTF-8"?>
            
            <deployments>
            
             <!-- Hello World Portlet -->
             <deployment>
             <if-exists>overwrite</if-exists>
             <parent-ref>default.default</parent-ref>
            
             <window>
             <window-name>HelloWorldPortletWindow</window-name>
             <instance-ref>HelloWorldPortletInstance</instance-ref>
             <region>left</region>
             <height>1</height>
             </window>
             </deployment>
            </deployments>


            I think this is what youre talking about. Granted, I havent messed with the JSF Portal Bridge much yet, but the only JBoss specific xml file ive come across so far is jboss-portlet.xml. The -object.xml may be used by an app on any app server (never used anything but JBoss AS, so those that have used liferay, websphere etc can you confirm?). I have found that the -object.xml is optional - you could place a portlet in a portal via the admin portal or use this file to automatically place it in a portal. I hope this helps and is not totally off base. I have written 2 tutorials that between the two of them describe the xml files i have described here. Again, I dont know how applicable they are as I have not used the JSF Portal Bridge yet.

            -object.xml
            http://knol.google.com/k/matt-cook/injecting-javascript-and-css-into/1ueb8yo1mnkcr/5#

            jboss-portlet.xml
            http://knol.google.com/k/matt-cook/injecting-javascript-and-css-into/1ueb8yo1mnkcr/5#

            • 4. Re: Take 3 - Relationship between jboss-app.xml and *-object
              nicolas duminil Novice

              Many thanks to thetikigod for having helped. Thosmas, please refrain yourself to answer, your replies are simply useless and arrogant.

              • 5. Re: Take 3 - Relationship between jboss-app.xml and *-object
                Thomas Heute Master

                Nicolas,
                you must understand that the forum is an important source of information. If everyone post several times the same thing, it just make it harder for all the other when they search for an answer to a similar issue.

                • 6. Re: Take 3 - Relationship between jboss-app.xml and *-object
                  nicolas duminil Novice

                  Thomas,

                  If one posts several times the same thing, this is not in order to have fun, but simply because nobody replies. Posting several times the same topic, one hopes that finally a solution to the problem will be found. Unfortunately, this is not my case as, beside another contributor kind help which wasn't really related to my question, the only thing I received is your sarcastic and arrogant comments. And this is not for the first time. Why don't you give me the answer to my question instead of beeing concerned how many times I posted my problem ? You're the JBoss Portal project lead, you should know art least what jboss-app.xml is for and why modifying it making the portlets to fail to deploy. It's too easy to claim on all the roofs to have offered to the Open Source community free and reliable software and to propose your costly support service as soon as one needs help to get your stuff running.

                  • 7. Re: Take 3 - Relationship between jboss-app.xml and *-object
                    Chris Laprun Master

                    While we would like to be able to answer each and every post on the forum, it's just not humanly possible. I think you'd agree that you'd rather have us spend our time working on the project than answering every possible questions on the forums.

                    This said, I looked at your first post and concluded (perhaps mistakenly, granted) that it was a case of someone not having read the documentation as the *-object.xml format is described in the documentation (for reference, http://www.jboss.org/jbossportal/docs/index.html and more particularly at http://docs.jboss.com/jbportal/v2.7.0.B1/referenceGuide/html/xmldescriptors.html#desc_objectxml). The configuration of a RichFaces portlet deployed using the Portlet Bridge project is describe in the documentation of the Portlet Bridge project and hasn't much to do with Portal itself.

                    Complaining about not getting free service when, at least by reading your post, it seems you haven't even taken the time to read the available documentation is quite inappropriate to say the least. Posting your topic several times didn't help your case either.

                    Finally, using an open source product doesn't entitle you to free support or anything else for that matter. If you were to use a commercial product, you'd have to pay for support (or it'd be included in the license price, same difference). Why people assume that because a product is free, so must any services related to it, is beyond me...

                    • 8. Re: Take 3 - Relationship between jboss-app.xml and *-object
                      nicolas duminil Novice

                      Chris,

                      Firstable, while the hyperlinks you posted in your message point to several documents and articles, no one of them doesn't respond to my questions. I patiently red these several dozens of unrelated document and I can tell you that none doesn't explain neither what the "*" in the *-objects.xml stands for, nore why once a potlet deployed, one is not able anymore to change the name in the file jboss-app.xml and to redeploy the portlet. Of course, I have red these documents before having posted my question.

                      Second, as you claim having red my message, it doesn't seem so. If you did, you would have understood that the problem doesn't have anything to do with Richfaces. But, in order to give to an eventual interlocutor as much details as possible, I explained that the application I was talking about has beed originally generated by the JBoss Portlet Bridge maven archetype.

                      Third, complaining about the poor quality of the products, even if there are "free", is absolutelly natural, given the huge publicity campaign you're doing to show how great JBoss stuff is. But from my personal experience, as well as the one of my colleagues at Simplex Software, a company having several very competent architects and developpers Java/J2EE, JBoss stuff could be successfully used in the simples cases, for small prototypes. But as soon as one needs to use them in "real life", lots of bugs apear, preventing the user to really take advantage. And the thing you're calling at JBoss "documentation" doesn't help.

                      We, as architects and developpers, we are aware by the fact that we don't have to build strategic solutions based on this kind of products, unless we are subscribing to your support services, in which case the total cost of the operations would be higher than if we were be using commercial, well documented products. But the management is taking "ad literam" JBoss advertizing and thinks that a software company may really dramatically decrease the costs by using a free application server and portal server. Which is not the case because a big effort is required in order to get things working.

                      For example, in 2006 we started a portal project and, as BEA customers, we naturally wanted to continue using WebLogic Portal which has given to us entirelly satisfaction. But management forced us to use JBoss Portal because it's free. We spent several weeks trying to get things working and during this time we weren't focusing on our project. After several weeks, we went back to WebLogic Portal and Workshop. Now we started a new project wirh JBoss Portal and, as things are going, there is a very strong probability that in a couple of weeks to go back to BEA/Oracle stuff.

                      Instead of writing you're long message you could simply give the answers I was waiting for. But in this case we wouldn't of course buy consulting from JBoss. As a matter of fact, if the documentation is well done and if the forum gives people the answers they need, who would buy anymore consulting from you ? This is to say that JBoss products are free as well as they don't work and there is not any know-how. But if one wants them to really work, well, in this case they are not any more free, they become even more expansive than the comercial ones.

                      Now, to come back to my questions, please don't bother too much. It apears that:

                      i) the "*" in front of -object.xml stands for nothing.
                      ii) the problem that I signaled concerning the changes in jboss-app.xml preventing the deployment to function properly is related to the chaotic management by JBoss Portal of associations between portlet and portlet instances.

                      As far as I'm concerned, I won't ever go live with something like that.

                      Kind regards,

                      Nicolas

                      • 9. Re: Take 3 - Relationship between jboss-app.xml and *-object
                        Youssef Mohammed Newbie

                        +1

                        "nicolasduminil" wrote:
                        Chris,

                        Firstable, while the hyperlinks you posted in your message point to several documents and articles, no one of them doesn't respond to my questions. I patiently red these several dozens of unrelated document and I can tell you that none doesn't explain neither what the "*" in the *-objects.xml stands for, nore why once a potlet deployed, one is not able anymore to change the name in the file jboss-app.xml and to redeploy the portlet. Of course, I have red these documents before having posted my question.

                        Second, as you claim having red my message, it doesn't seem so. If you did, you would have understood that the problem doesn't have anything to do with Richfaces. But, in order to give to an eventual interlocutor as much details as possible, I explained that the application I was talking about has beed originally generated by the JBoss Portlet Bridge maven archetype.

                        Third, complaining about the poor quality of the products, even if there are "free", is absolutelly natural, given the huge publicity campaign you're doing to show how great JBoss stuff is. But from my personal experience, as well as the one of my colleagues at Simplex Software, a company having several very competent architects and developpers Java/J2EE, JBoss stuff could be successfully used in the simples cases, for small prototypes. But as soon as one needs to use them in "real life", lots of bugs apear, preventing the user to really take advantage. And the thing you're calling at JBoss "documentation" doesn't help.

                        We, as architects and developpers, we are aware by the fact that we don't have to build strategic solutions based on this kind of products, unless we are subscribing to your support services, in which case the total cost of the operations would be higher than if we were be using commercial, well documented products. But the management is taking "ad literam" JBoss advertizing and thinks that a software company may really dramatically decrease the costs by using a free application server and portal server. Which is not the case because a big effort is required in order to get things working.

                        For example, in 2006 we started a portal project and, as BEA customers, we naturally wanted to continue using WebLogic Portal which has given to us entirelly satisfaction. But management forced us to use JBoss Portal because it's free. We spent several weeks trying to get things working and during this time we weren't focusing on our project. After several weeks, we went back to WebLogic Portal and Workshop. Now we started a new project wirh JBoss Portal and, as things are going, there is a very strong probability that in a couple of weeks to go back to BEA/Oracle stuff.

                        Instead of writing you're long message you could simply give the answers I was waiting for. But in this case we wouldn't of course buy consulting from JBoss. As a matter of fact, if the documentation is well done and if the forum gives people the answers they need, who would buy anymore consulting from you ? This is to say that JBoss products are free as well as they don't work and there is not any know-how. But if one wants them to really work, well, in this case they are not any more free, they become even more expansive than the comercial ones.

                        Now, to come back to my questions, please don't bother too much. It apears that:

                        i) the "*" in front of -object.xml stands for nothing.
                        ii) the problem that I signaled concerning the changes in jboss-app.xml preventing the deployment to function properly is related to the chaotic management by JBoss Portal of associations between portlet and portlet instances.

                        As far as I'm concerned, I won't ever go live with something like that.

                        Kind regards,

                        Nicolas


                        • 10. Re: Take 3 - Relationship between jboss-app.xml and *-object
                          Thomas Heute Master

                          If you have issues with our model call me:
                          +41 32 720 9266 [Edit i got my phone number wrong]

                          You missed the point. You can't FUD like that.

                          If you want community support this is the place where you can get it. How many question simplex-software answered here ? 0 Why would other help you.

                          About cost, you should have contact our sales team instead of saying it's expensive with no clue...

                          • 11. Re: Take 3 - Relationship between jboss-app.xml and *-object
                            Peter Johnson Master

                            I have been watching these posts for a while and frankly I have not understood the question. In addition, I do not use RichFaces with Portal and thus did not know if any of my input would even apply.

                            But then I saw this:

                            i) the "*" in front of -object.xml stands for nothing.


                            Let me see if I understand this correctly - you don't know what "*" in "*-object.xml" means? I think this is the first time I have seen your question put this way, and frankly I never would have thought that anyone would ask what "*" means. It means the same thing as when doing a dir or ls command from a command prompt - it a substitution character for any text. In other ords, "*-object.xml" match "default-object.xml" and "myportal-object.xml" and "foobar-object.xml" and so on. And yes you can have multiple *-object.xml files. Or am I once again misunderstanding your question?

                            Also, I think you are having an issue with how the Portal behaves. The portlet-instances.xml and *-object.xml files are used to initialize the data with information about the portlet. Once the database is initialized, the Portal uses the database to do its work in displaying and managing the portlets.

                            The whole reason for the if-exists tag in those descriptor files is to decide what to do on redeployment if the portlet information is already in the database. The "override" value is supposed to make the file information overwrite the database, but I have found that operation to not be that foolproof. Therefore I always recommend that if-exists be set to "keep", in which case the database will be populated only on the first deployment , and after that you need to use the admin portal to manage the portlets.

                            By the way, I set up my portlet build script such that I have the option of wiping out the database so that I can get a clean, new deployment of my portlets. This way I can fine tune the settings in the descriptor files and be assured that those settings will be made. Of course, that works only during development. For my production portal I use the admin portal to make changes after the portlet goes into production.

                            • 12. Re: Take 3 - Relationship between jboss-app.xml and *-object
                              elfuhrer Novice

                              I don't know the nature of any software architect that doesn't understand what the heck a '*' means.
                              In any case this is a good example of stupidity manifested in human forms. Let the power of universe bless you Mr. Architect and I would suggest that your employer either sends you back to school or else pick a nagging career and all the best in figuring out what a '*' means.
                              One you're done with it, try to figure out what '?' means and till then enjoy your software development career