13 Replies Latest reply on Mar 13, 2004 3:18 AM by julien1

    Just a comment and suggestion

    javab0y

      I have been somewhat frustrated at the way CVS is handled here for Nukes. I still have yet to get Nukes running completely on Jboss 3.2.3 and MySQL.

      Here is the frustration...

      At times, I can get Nukes running, but certain modules (such as the HTML module) error out (see other threads in this section as others have had the same issue). Other times, I re-check out the source, and then compile problems occur. Right now its the news module. Then we see people/code owners post that they made changes, etc and try again.

      The issue I want to bring up is how CVS is run for this project. I would assume that once a stable version of Nukes is available, that it would be frozen and branched. But this is not the case. This would allow people to check out a working version that builds. Jeez, I would be happy if I could get a version of Nukes that is the same one that jboss.org is running. However, it seems as if CVS is updated, almost in a renegade fashion. The first rule of version control is if it doesn't compile...do not check it in. This rule seems to be broken quite often for Nukes.

      Here is my suggestion...that the heads of this project utilize some of the features of CVS to provide for a workable checkout via branching/freezing code. Then have an unstable branch for the latest and greatest. This way nobody can complain if code does not work. Also...enforce the rule...if it doesn't compile..it should not be checked in...period. This is the way many open source projects run. If Nukes could do this, it would likely cut down on the amount of posts regarding execution and build issues.

      Just my .02...take this as a decent suggestion and not a flame.

        • 1. Re: Just a comment and suggestion

          you ae right, this is going to be done, please look at the Announcement made in dev forum. We are going to release 1.0 this week.

          A 1.0 branch will be created soon as well.

          • 2. Re: Just a comment and suggestion
            hxp

            Julien,

            It's been months since RC1; and you've been doing architecture surgery and feature additions up until just a few days ago.

            So please do a clean RC2, post a binary for download... as well as leaving a stable CVS snapshot (see start of this thread)....

            ...and give us users at least 3-4 days to really do a good QA testing before putting out a final 1.0 release.

            You're getting really close, congrats, and thanks for all the good work!

            -- Howard

            • 3. Re: Just a comment and suggestion

              yes this is my idea, a pre 1.0 will be done and will be put online on jboss.org as well to have a good q/a

              • 4. Re: Just a comment and suggestion
                hxp

                Great!!!

                • 5. Re: Just a comment and suggestion
                  hxp

                  2 days ago...


                  "hxp" wrote:
                  It's been months since RC1; and you've been doing architecture surgery and feature additions up until just a few days ago.

                  So please do a clean RC2 , post a binary for download... as well as leaving a stable CVS snapshot (see start of this thread)....

                  ...and give us users at least 3-4 days to really do a good QA testing before putting out a final 1.0 release.

                  You're getting really close, congrats, and thanks for all the good work!



                  "cooper" wrote:
                  yes this is my idea, a pre 1.0 will be done and will be put online on jboss.org as well to have a good q/a


                  Julien,

                  Why the switch? Why no RC2?

                  With all the CVS build problems in the past few days, it's been hard for even dedicated users like me to do much deeper QA.

                  I've got a list of bugs that you may (or may not) have fixed, but I didn't want to file bug reports until I'd done regression tests against the latest snapshot.

                  javab0y wrote:
                  Here is my suggestion...that the heads of this project utilize some of the features of CVS to provide for a workable checkout via branching/freezing code. Then have an unstable branch for the latest and greatest. This way nobody can complain if code does not work. Also...enforce the rule...if it doesn't compile..it should not be checked in...period. This is the way many open source projects run. If Nukes could do this, it would likely cut down on the amount of posts regarding execution and build issues.


                  cooper wrote:
                  you ae right, this is going to be done, ...
                  A 1.0 branch will be created soon as well.


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

                  cooper wrote:
                  the cvs has been tagged as Nukes_1_0, for now we don't branch.


                  Out here in the troups, we need to get a better idea of what is going on in your mind and in your planning ;-)

                  Otherwise, a lot of our attempts to help become largely (or completely) wasted.

                  One idea: how about a cleaned-up and QA'ed 1.0.1 release in about a week or so? (Posted properly, with a fresh date, on Sourceforge, along with with an archived matching CVS-snapshot for those who want to go to the next deeper step of involvement.) This could also allow you to put off branching the CVS till 1.1, assuming 1.1 is no more than 1 month away.

                  We need something that is both clean and stable, even if it doesnt have a lot of modules, that we can document around and use as a basis to help enlarge the team.

                  I say the above constructively, with regard for all the hard work you've been putting into this, ...and congrats on getting it this far!

                  -- Howard

                  • 6. Re: Just a comment and suggestion

                    Don't panic, you get the idea, let me clarify what you point.

                    1. No RC2 because I want to avoid the linux syndroma, we have not released enough in the project life (for various reasons). It was time to get out the 1.0 and I think it is fairly stable, the site has been updated many times recently and it's good. I want to release more often, this is good for the project.

                    2. We don't touch the core except bug fixes and minor fixes that I will do. If there are enough to justify a 1.0.1 we will do it with the fixes, etc...

                    What I call the core :


                    • nukes/nukes
                    • nukes/bb
                    • nukes/permission


                      That part must get only bug fixes or addition I control.

                      3. At the same time we revamp the other modules, so no need to touch the core. What I want to be done are all the other modules.

                      Already Jae is working hard on the News module. What I want is :


                      • use of templates
                      • integrate security
                      • integrate indexing


                        By the time we finish modules, we get out 1.1, 1.2, etc...

                        4. There is an obvious need for a testsuite (and your point about QA is directly related to that). Unfortunately it is hard to test web-app so we need to work hard on that.

                        5. Bottom line, what I want you to get is that both task are separate, due to the clean separation of the module architecture. In addition they don't share the same code space : nukes/news, nukes/polls, nukes/adminmessages, etc...


                    • 7. Re: Just a comment and suggestion
                      hxp

                      Good morning Julien,

                      Hope you finally got a decent night of rest; you certainly earned it! I trust that you are feeling some relief after getting 1.0 out :).

                      Thank you for your extended and thoughtful msg. I understand your points about separation of tasks, and want to reply in 2 parts. This message will be about some immediate issues; later I'll mention my architectural and longer term concerns.

                      Today, I am going to ask you to please take a little bit of time out to see things from a "naive user" point of view.

                      I'm trying to write Wiki docs by getting into the head of our next wave of adopters (possibly someone who has been a webmaster, or who has only used GUI tools to build webapps in the past (like ColdFusion authors)). I'm also trying to write Wiki documentation that could replace the obsolete docs that are scattered around on the web site, MySQL readme, etc.

                      So, before you dive back into the Core or out into the Modules, I want to get you to think about something different -- the experience these people are facing when it comes to things like the installation process, the build, the CVS snapshots, the installer webapp, MySQL integration, obscure references to system-level concepts (mbeans, ...), confusing error messages, confusing documentation.


                      Please take a look at a wiki page I put together to help these people out:

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

                      Baby steps.... Should be pretty easy, eh? Well, here's the point: for 4 days in a row, people have _not_ been able to successfully complete the list of installation steps on that wiki page.... apparently because the CVS snapshot has been broken in some way for each of the last 4 nights!

                      Perhaps my instructions are wrong (maybe items out of order? something missing?)... but the 20040302 & 20040303 snapshots failed in the distrib build step, and the 20040304 & 20040305 snapshots fail 50-75% of the way thru the install servlet.

                      It's now 4:30am; I stayed awake to check the snapshot that came out at 3:00am in my timezone (Rocky Mtns, US)... so I could test it before writing this msg to you. If it had worked ok, I would have posted that good news on the "installation oddities" thread
                      http://www.jboss.org/index.html?module=bb&op=viewtopic&t=46275
                      and gone to bed. But it didnt work, so I'm typing this message to you instead.

                      (BTW, I tested nukes-1.0.0-mysql.zip on linux and windows and encountered definite problems on both, which I'll report later; I tested jboss-3.2.3_nukes-1.0.0.zip and it is quite nice!)

                      For people wanting to install into existing JBoss instances, for people who want to work with MySQL, for people who are deeper into this than just downloading the 1.0 binary, but not yet into full-on CVS access and module development... let's get this CVS snapshot build process fixed.


                      Perhaps you can do what is on the wiki page, see things thru end-user eyes, fix the few minor bugs you'll find, and post a new clean CVS snapshot (possibly attached to the wiki page), so we can get a clean build, and people can use the InstallUninstallUpgrade instructions to successful completion?

                      Good night.

                      -- Howard

                      ~~~~

                      Here are some of the problems encountered when trying to run the installer with the current (20040305) snapshot:

                      Try w MySQL datasource.... 50% of the way thru Installer sequence you get:
                      Error
                      General error, message from server: "Column count doesn't match value count at row 1"

                      So you backup to Datasource screen, pick DefaultDS; then uncheck
                      "Do not Execute DROP statements" on Modules screen.... you do get further.... 75% before getting stuck:
                      Error
                      No ManagedConnections available within configured blocking timeout ( 5000 [ms] ); - nested throwable: (javax.resource.ResourceException: No ManagedConnections available within configured blocking timeout ( 5000 [ms] ))
                      null

                      • 8. Re: Just a comment and suggestion

                         


                        Please take a look at a wiki page I put together to help these people out:
                        http://jboss.org/wiki/Wiki.jsp?page=InstallUninstallUpgrade


                        Your wiki page is good, the thing is that sometimes head has issues. that's why we released nukes-1.0, to avoid people going to the cvs snapshot (and you wrote it in the page which is good)

                        The nukes install servlet has serious problems and that part should be improved, unfortunately I don't have time to spend on it. Could you modify the wiki page to say to not use that installer that has issues but instead use the generated ddl files.


                        Perhaps you can do what is on the wiki page, see things thru end-user eyes, fix the few minor bugs you'll find, and post a new clean CVS snapshot (possibly attached to the wiki page), so we can get a clean build, and people can use the InstallUninstallUpgrade instructions to successful completion?


                        It is a good idea to post snaphosts only where they are considered as good. We can do that.

                        Please drop usage of installer or fix it. For now DDL files are good, I think everyone that wants to install mysql version or postgres knows how to use DDL files.

                        • 9. Re: Just a comment and suggestion


                          I have added a page on the wiki that outlines building the DB via DDL at http://jboss.org/wiki/Wiki.jsp?page=NukesDBSetup All comments appreciated.


                          Sherman

                          • 10. Re: Just a comment and suggestion
                            hxp

                            Julien,

                            Snapshots and checkouts from the CVS rarely build cleanly, so it is very hard to even get started on development.

                            Like you said you would do after 1.0 release: we need a clean, stable CVS branch -- which is only modified to fix bugs.

                            This is even more urgent if you are going off on a surgery expedition to better support JSPs.

                            What javab0y said at the beginning of this thread is unfortunately still true:

                            "javab0y" wrote:
                            I have been somewhat frustrated at the way CVS is handled here for Nukes. ...

                            At times, I can get Nukes running, but certain modules (such as the HTML module) error out (see other threads in this section as others have had the same issue). Other times, I re-check out the source, and then compile problems occur. Right now its the news module. Then we see people/code owners post that they made changes, etc and try again.

                            The issue I want to bring up is how CVS is run for this project. I would assume that once a stable version of Nukes is available, that it would be frozen and branched. But this is not the case. This would allow people to check out a working version that builds. Jeez, I would be happy if I could get a version of Nukes that is the same one that jboss.org is running. However, it seems as if CVS is updated, almost in a renegade fashion. The first rule of version control is if it doesn't compile...do not check it in. This rule seems to be broken quite often for Nukes.

                            Here is my suggestion...that the heads of this project utilize some of the features of CVS to provide for a workable checkout via branching/freezing code. Then have an unstable branch for the latest and greatest. This way nobody can complain if code does not work. Also...enforce the rule...if it doesn't compile..it should not be checked in...period. This is the way many open source projects run. If Nukes could do this, it would likely cut down on the amount of posts regarding execution and build issues.




                            We need a CVS branch that is not painful to build. Not painful to install. Not painful to use as a base for development.

                            --- Howard



                            • 11. Re: Just a comment and suggestion

                              I created that branch and merged the fixes that have been done since 1.0 is out. You can retrieve it with :

                              cvs co -r Nukes_Branch_1_0 nukes-1.0

                              • 12. Re: Just a comment and suggestion
                                hxp

                                Julien,

                                Thanks!

                                (See development forum for feedback.)

                                BTW --

                                Under Eclipse on my windows desktop, in the CVS Repository Explorer, the only thing under the branch "Nukes_Branch_1_0" was "nukes-tools Nukes_Branch_1_0"

                                So under HEAD, i grabbed "nukes" and "nukes1.0"....

                                "nukes" looks like the main ongoing development (which today I was able to build cleanly :-)) ... while "nukes-1.0" looks like the stable branch you are making for us (and doesnt build because it's missing the modules, but when the modules are copied over from "nukes" it build ok)

                                But, in my limited knowledge of CVS, it looks to me like "nukes1.0" is not tagged (or whatever is the right terminology) to get it to show up under "Nukes_Branch_1_0".

                                How is this supposed to work?


                                On my linux box, I checked out and diffed:

                                cvs -d :pserver:anonymous@cvs.jboss.sourceforge.net:/cvsroot/jboss co -r Nukes_Branch_1_0 nukes-1.0

                                cvs -d :pserver:anonymous@cvs.jboss.sourceforge.net:/cvsroot/jboss co nukes-1.0

                                both checked out ok, but there were many differences. So which "nukes-1.0" am I grabbing from HEAD into windows Eclipse??


                                -- Howard

                                • 13. Re: Just a comment and suggestion

                                  yes, cvs co nukes-1.0 will give you HEAD, so it is invalid