1 2 Previous Next 17 Replies Latest reply on Mar 12, 2004 4:18 AM by hxp

    installation oddities

      I'm just starting out with Nukes, and at first i was quite excited - but now, not so much. I thought Nukes would be a good solid CMS core to start developing my own little system on. I thought it would have good documentation and a strong developer community. My mind's not completely made up on any of these points but after installing JBoss 3.2.3 and Nukes (latest compilable) i'm a little disappointed. Take this little nugget of advice that i eventually happened upon in the Development Forums:

      one change that is good and simple. when you use nukes, you have to create a directory called nukes : server/default/nukes
      -- julien 9/10/03

      thanks for letting me in on that one, but would it be so much to ask Nukes to auto-create that directory for me on first run if i didn't happen to find that info in the forums? I saw no mention of this anywhere in the build instructions, tutorial or other limited documentation I found. So i had no main page in Nukes ("The file id is not indicated" instead - also not to be found mentioned anywhere).

      In a more realistic sense I completely understand how this happens. I've been writing web apps (ColdFusion mostly) for about 5 years now and my documentation still sucks. Not so much inline comments, but everyday plain-English docs for others to catchup on when you're gone or otherwise occupied. Writing that kind of stuff is left til last because many things change before you even get to write the documentation, and because it's just not as exciting as writing features in.

      here's hoping i can get my head wrapped around the way Nukes works so i can start writing modules for it soon. thanks for your hard work. I really look forward to the next RC soon. If anyone would like to refer me to some more comprehensive & up-to-date tutorials I'd be much obliged... .joe


        • 1. Re: installation oddities
          hxp

          Hey, Joe, welcome to the sausage factory!

          This is nothing like ColdFusion; it's more like jumping in deep cold water (and you have no idea how deep) and learning to swim by first almost drowning, then treading water, and then getting exhilerated that this is the real stuff, if you can handle this you can handle anything.

          After your expectations get dashed, and your initial excitement goes away, then you're ready to begin getting a very different kind of excitement. Not the kind that comes with finding a quicker fix to the job of the month, but the kind that comes from finding something that is so high-octane that learning it will fuel your career and your creativity for years and years to come. Am I just saying that? Well, in 32 (almost 33) years of coding, and most of it on cool and cutting edge stuff, i've only several times seen a vortex with the energy and potential of the j2ee/jboss open-standard/open-source synergy.

          Over the past several months, the "right" way to install nukes has gone thru about 5 different stages.... and each time it's taken me a dozen+ hours to study the forums and pages and code and sniff-out what would work. (I'm kind of old fashioned; i try to figure it out before ever asking on the forums.... but it's also a good way to learn.)

          I've found dozens of goose-chase leads like your item from Julien 9/10/03 .... and then you find out that the "installshield" (which has nothing to do with the commercial product of that name) installer (see http://www.jboss.org/index.html?module=bb&op=viewtopic&t=44740 )completely obsoleted the hypothesis you were forming. ...Nor does it help than many of the cryptic one-liners that you piece together are from non-native-english-speakers, so you don't know whether they really meant it, and in what tense, when they say something like "I is fix it." Ah, well, that's the fun of open source :)

          So why not give up? Because the reason that things kept changing is that the underlying Nukes architecture was undergoing tectonic shifts of _improvement_ --- and the lack of docco is due not just to the reasons you spoke of, it's due to the wild nature of this rapidly morphing --- and rapidly *improving* -- target.

          But this week things will settle down for a bit of a breather; yesterday was the feature freeze, and no major changes will be made except bug fixes till the 1.0 comes out.

          I'm hoping to make some Wiki pages to explain the current way to install/uninstall/upgrade Nukes, and about some other stuff I've learned. But almost every time I come up with a plan to contribute something, somebody who's zippier than I am beats me to it ;-)

          So whether it's from me or somebody else, there will certainly be better get-going docs over the next week or so.

          • 2. Re: installation oddities

             

            "hxp" wrote:
            This is nothing like ColdFusion; it's more like jumping in deep cold water...


            that's okay, i don't want it to be like ColdFusion - i've already built my own CMS in that world, need to start moving on to the real game.

            "hxp" wrote:
            Over the past several months, the "right" way to install nukes has gone thru about 5 different stages....


            yeah, i gathered that, which is why i was willing to cut the developers a bit of slack. I just chalk it all up to a learning experience and move on. But most of what i've seen of Nukes I still like so I'll stick with it. Since i don't really have too much Java experience I think i might just go back to my books and get some more base knowledge in place for later.

            "hxp" wrote:
            I'm hoping to make some Wiki pages to explain the current way to install/uninstall/upgrade Nukes, and about some other stuff I've learned.


            The WIki pages would be nice because it would be easier and less formal for many people to contribute. You might also consider putting together an entire getting started tutorial like the one they put together for the JBoss AS - i went thru that one and it was very helpful in learning many things about a large product in simplistic terms, very quickly. And then hand it off to someone whose never even heard of Nukes or JBoss and see how they do with it.

            thanks for your input. looking forward... .joe


            • 3. Re: installation oddities
              hxp

              Hi Joe,

              Thanks for your response. You inspired me to post the first Wiki tonite, and not wait another day 'till it's "sq-wiki clean" :).

              Be aware that it will be a few hrs from the time of this post until i expect a CVS snapshot to be posted that will build cleanly; the 20040302 snapshot had a minor bug but the 20040303 snapshot is likely to be good.

              So check out the InstallUninstallUpgrade Wiki page at

              http://jboss.org/wiki/Wiki.jsp?page=InstallUninstallUpgrade

              and let me know how it goes for you.

              Rgds,
              Howard

              • 4. Re: installation oddities
                jae77

                you should link this under the "help" section on the main nukes wiki page (http://www.jboss.org/wiki/Wiki.jsp?page=NukesForJBoss)

                • 5. Re: installation oddities
                  hxp

                  A trail of breadcrumbs for newcomers...

                  The main Nukes wiki page:

                  http://www.jboss.org/wiki/Wiki.jsp?page=NukesForJBoss

                  ...links to...

                  The Nukes help page:

                  http://www.jboss.org/wiki/Wiki.jsp?page=Help

                  ...links to...

                  The Installation help page:

                  http://www.jboss.org/wiki/Wiki.jsp?page=InstallUninstallUpgrade

                  • 6. Re: installation oddities
                    xqidtm

                    Hi Howard,
                    Thanks for posting the InstallUninstallUpgrade script. I downloaded today's cvs snapshot, and hoped it would work with your script straight out (I've been trying for the last few days to get nukes built and deployed on my system, but haven't had much luck yet). Alas, I got about half way through when the build in the distrib directory failed:

                    BUILD FAILED

                    file:C:/java/projects/nukes-snapshot20040303/distrib/build.xml:157: java.sql.SQLException: Unexpected token: # in statement [# Nukes on JBoss # module : core - Core Module # database : hsqldb - Hypersonic # # WARNING: # This file is generated automatically, please do not modify it # directly, your changes will be lost during next generation. # Modify the setup.xml file to make permanent changes. # # Drop tables # # Drops Users table DROP table nuke_users]
                    at org.apache.tools.ant.taskdefs.SQLExec.execute(SQLExec.java:406)
                    at org.apache.tools.ant.Task.perform(Task.java:319)
                    at org.apache.tools.ant.Target.execute(Target.java:309)
                    at org.apache.tools.ant.Target.performTasks(Target.java:336)
                    at org.apache.tools.ant.Project.executeTarget(Project.java:1306)
                    at org.apache.tools.ant.Project.executeTargets(Project.java:1250)
                    at org.apache.tools.ant.Main.runBuild(Main.java:610)
                    at org.apache.tools.ant.Main.start(Main.java:196)
                    at org.apache.tools.ant.Main.main(Main.java:235)
                    Caused by: java.sql.SQLException: Unexpected token: # in statement [# Nukes on JBoss # module : core - Core Module # database : hsqldb - Hypersonic # # WARNING: # This file is generated automatically, please do not modify it # directly, your changes will be lost during next generation. # Modify the setup.xml file to make permanent changes. # # Drop tables # # Drops Users table DROP table nuke_users]
                    at org.hsqldb.Trace.getError(Unknown Source)
                    at org.hsqldb.jdbcResultSet.(Unknown Source)
                    at org.hsqldb.jdbcConnection.executeStandalone(Unknown Source)
                    at org.hsqldb.jdbcConnection.execute(Unknown Source)
                    at org.hsqldb.jdbcStatement.fetchResult(Unknown Source)
                    at org.hsqldb.jdbcStatement.execute(Unknown Source)
                    at org.apache.tools.ant.taskdefs.SQLExec.execSQL(SQLExec.java:494)
                    at org.apache.tools.ant.taskdefs.SQLExec.runStatements(SQLExec.java:470)
                    at org.apache.tools.ant.taskdefs.SQLExec$Transaction.runTransaction(SQLExec.java:617)
                    at org.apache.tools.ant.taskdefs.SQLExec$Transaction.access$000(SQLExec.java:580)
                    at org.apache.tools.ant.taskdefs.SQLExec.execute(SQLExec.java:382)
                    ... 8 more

                    Thanks for all the information. It's quite helpful.

                    • 7. Re: installation oddities

                      Hi guys,

                      I got the latest cvs version of nukes.

                      I followed the installation instructions in the wiki:
                      1) I needed to do a distrib/build installer before being able to do an installer-deploy
                      2) the installer ran fine and created the nukes-ds.xml file for me. However, I still needed to go to the nukes directory to do a build deploy.
                      3) the default index page shows only an html page: there is no blocks there, so no way to login as admin and manage content.
                      4) on that main page, I saw that the FAQ,POLL,NEWS, etc modules will not ship with the 1.0 release. Is that correct? I need news and polls for my web site, and planned to develop some blocks to display eg most viewed news (of the week, of the month, overall, etc). I would like to start developping on a stable release.
                      5) Any idea about the 1.0 release date?

                      • 8. Re: installation oddities
                        hxp

                        xqidtm--

                        The 20040302 & 20040303 snapshots indeed failed to build during the distrib step.

                        You'll get much further with the 20040304 snapshot (but various problems still exist later on, during the installer and after). Hopefully 20040305 will be clean all the way thru.

                        -- howard

                        • 9. Re: installation oddities
                          hxp

                          leberre,

                          As you can see, the 1.0 came out hours after you posted, with the core & bb set of modules (so that answers your #4).

                          Thanks for your help getting the wiki InstallUninstallUpgrade instructions shaken down. Please take a look at what is there now, and compare against your experience. Any improvements are appreciated.

                          -- howard

                          • 10. Re: installation oddities

                            I tried 1.0.

                            The simplified installation (using the build-in zip file) works fine.

                            I also succeed in installing the default packages using a cvs snapshot (taken 30mn ago) by following the updated wiki install manual. (there was just a typo in the wiki that I corrected).

                            However, I just tried to install the news module by doing a build deploy in the news directory.

                            I got a complain about a missing table:
                            javax.ejb.CreateException: Could not create entity:java.sql.SQLException: General error, message from server: "Table 'nukes.nuke_topics' doesn't exist". Same thing concerning polls.

                            I guessed that the problem was that the tables were not created with the build command
                            I tried to create them manually using the setup.ddl and got and error message because the script was trying to drop a non-existent database.

                            1) is there any way to automatically create the databases
                            2) would it be possible to use a statement to prevent dropping a non existent database?

                            --Daniel

                            • 11. Re: installation oddities
                              ungh

                              I just wanted to throw my two cents in on this topic:

                              I'm currently a lead developer for a group of (very)large community sites, and I'm evaluating open source community projects like this with the hope of finding something we can throw our considerable resources behind and get out of the propietary corner we've painted ourselves into.

                              My experience with installing nukes was EXACTLY the same as the first poster's, and was about to move on when I found this thread. I just wanted to stress the importance of keeping newbie how-to's at least linked to current news, because a bad first impression is hard to shake - and everybody loses.

                              That being said, I'm certainly not trying to be critical. The work done on nukes is really impressive, and my own docs pretty much amount to pig doots.

                              --about to give it one more try.


                              • 12. Re: installation oddities
                                hxp

                                Hi ungh,

                                Thanks for sticking with us!

                                First, on the immediate practical side, see the thread "Nukes 1.0"

                                and especially the post "Want to get started fast?" at

                                http://www.jboss.org/index.html?module=bb&op=viewtopic&t=46415


                                Second, you made a really important point...

                                My experience with installing nukes was EXACTLY the same as the first poster's, and was about to move on when I found this thread. I just wanted to stress the importance of keeping newbie how-to's at least linked to current news, because a bad first impression is hard to shake - and everybody loses.


                                That makes a lot of sense, and some of us are trying really hard to think and document from a newbie perspective. But here's something else to think about: in Open Source, everybody sees the dirty laundry or the open body on the operating room table (pick your metaphor)... and it's hard to make a good first impression even under the best of circumstances.

                                It's relatively easy to make a good first impression on relatively superficial software, for example that's written in a scripting language (such as PHP, or JSP code that goes straight to a relational backend without any middleware)... and doesnt care about the heavy lifting of reliability, availability, transactionality, security, maintainability, scalability, manageability and most importantly genuine extensibility. Later on, of course, your "first impression" is replaced with the "lasting impression" you get stuck with in the long term.


                                It's wise to be able to handle both very short and very long time frames. I first tasted the promise of Open Source EJB in 1998 from a UK project called EJBHome, and when EJBHome ceased, I started hunting for something like it. I was giving seminars to CIO-types about enterprise-level Java Architecture, and I knew open source EJB was the killer thing I had been dreaming of for a long time. When I first discovered EJBoss pre 1.0 in 1999, it frankly wasn't recognizable as the kind of thing a CIO would bet the bank on --- but it was the kind of thing a very-forward-thinking CTO would pay attention to as something really important for the future. By 2002, I had done several successful sample projects applying it for CTO-types, and felt it had matured to the point where I was able to start recommending it to CIO-types. Now, of course, there are many enterprise IT projects that are solidly built on JBoss.

                                Nukes has far better foundation than anything you'll find in the PHP world, or Perl, or Cold Fusion, or ASP, and for that matter, even (for different reasons) C or C++. It leverages the significant strengths of Java, and then of EJB & JMX, and then of J2EE in general, and then of JBoss. On top of that, the Nukes core is getting to be pretty good (even though IMHO the front end and back end have a ways to go). The set of modules will grow as it gets easier and easier for non-system-level programmers to get involved and bring things over from more "superficial" environments.

                                Nukes is of course earlier in its lifecyle than JBoss app srvr, and it is a CMS app, and it is higher level on the system-vs-application spectrum. But the core is very hard core, and Julien (the lead developer) obviously shares the same "no-blah-blah" attitude shared by the JBoss culture. So you'll find his posts terse, and often cryptic. The module developers sometimes post more explanatory paragraphs, but generally they prefer, like most of us programmers, to code rather than document or comment.

                                Perhaps the best people to document this are people who have just gone thru the pain of having to figure it out themselves... It's up to us to put the puzzle pieces together, translate into more generally-understandable form, remove ambiguity, and help the next generation get involved.

                                But it's not static. People who stick around get deeper, and have less time and interest in handling newbie stuff. For example, I'm working on getting my development environment reorganized to support me working on doing some Nukes code contributions while not letting the numerous other threads in my life get starved. Soon I'll be writing less prose, and more java, for Nukes.

                                So I invite you to continue on this topic with your higher-level concerns, and not just techie and user details. You can discuss your thoughts about relative risks of different courses of action, what you want for the future, how can the Nukes community can develop into something you really feel good about participating in. Bring your experience of helping communities grow, and reap the benefits of exciting software growing on a firm foundation for the future. This is a thread where any posts, including long posts, are welcome. Share your thoughts and feelings, build community, and help out the next wave of folks.


                                -- Howard

                                • 13. Re: installation oddities

                                  Thanks Howard (and others, of course). I took a little time off, away from Nukes anyway, to learn more Java structure while waiting for the 1.0 release to come out. My expectations of course were that it would be a little easier, but i was a little disappointed. Sorry, don't mean to offend, but it took me a few hours to go from the fairly functional snapshot from mid-February to the 20040304 snapshot. I tried the wiki instructions and installer (which really only seems to setup the database right now, was hoping it would do more). Here's what i found....


                                  i'm using postgreSQL so there was a big warning telling me that it only works with mySQL, but i'm used to taking the hard road so i did it anyway.

                                  the installer let me choose my old datasource but failed to drop the tables correctly, so i was forced to drop them manually

                                  there was an error creating some of the databases so i had to track it down to a couple of inserts that were trying to use "0" instead of "false" for a boolean column.

                                  Fixed the setup.xml's for those faulty dB inserts but had to build clean and redeploy a few times to get it setup correctly, but it did. I would commit these back to the repository but i'm a definite newb when it comes to CVS. Will need to see about something other than anonymous access.

                                  The deploy-components target fails because /server/default/nukes/ directory doesn't exist - the installer should probably create that one for you if it doesn't already exist - this part of the process is mentioned on the NukesDBSetup wiki but not on the installUninstallUpgrade wiki.

                                  Tried to deploy it as-is but choked on the dB - it thought i was using mySQL. This seemed odd because the installer knew i was choosing a pgsql dB. Of course i eventually found the line that explained how i needed to change a line in the local.properties file to reflect the dB-type. This part was awful and i'm sure will keep many people from successfully installing Nukes. I guess i didn't think the NukesDBSetup wiki applied to me because i'd already setup my dB for an older snapshot of Nukes. I'd say mention the dB-type/local.properties config on the install wiki so people get it.




                                  So that was about it, after a few more cleaning, builds, and redeploys. It was late though so i didn't even get a chance to play with it. Guess i should stop writing this message and go see. Thanks again... .joe


                                  • 14. Re: installation oddities
                                    hxp

                                    Joe,

                                    Good to hear from you again -- and I'm sorry you didn't see the Wiki comment and the Forum threads that would have saved you from many of the problems you just mentioned. So I've collected the key Forum thread links, and put them in 3 clusters: quick start using a pre-integrated bundle; moving to a deeper level with backend integration; and seeing the bigger picture of what is going on with backend integration.

                                    ==(1)==

                                    So first off, I want to make sure you know how to get started the _much_ easier way.

                                    First, just grab the 1.0 bundle and you can be up and running within minutes of unpacking it. See my posts on http://www.jboss.org/index.html?module=bb&op=viewtopic&t=46415
                                    to see how easy it is. So that is how to get to the first level.

                                    And let me know on this thread how it goes for you.

                                    ==(2)==

                                    To ascend to the next level, realize that the installer is currently broken -- see the interactions on
                                    http://www.jboss.org/index.html?module=bb&op=viewtopic&t=46179
                                    carefully to understand how to work with CVS snapshots and custom database integration at this point. Try Postgress again, without the installer, according to what you learn on that thread and from the 2 Wiki pages (NukesDBSetup, and mine). Then post your experiences on that thread.


                                    ==(3)==

                                    Third, I think we either need to get the installer working, or eliminate the need for it. See my comments on these threads to understand what I really think needs to become very high priority -- to clean up the back end, make the build and installation process reasonable, and get a good foundation for moving forward:

                                    http://www.jboss.org/index.html?module=bb&op=viewtopic&t=46324

                                    http://www.jboss.org/index.html?module=bb&op=viewtopic&t=45576

                                    Please pay special attention to the EJB CMP discussion -- if Nukes were properly leveraging JBoss's top-notch EJB CMP capabilities, there would be no need for installers, DDL, or any of this tedious and error-prone database setup we are doing now. Please post some comments on those threads, based on your own experiences and goals.

                                    Regards,
                                    Howard

                                    1 2 Previous Next