I disagree. Half a year old is perfectly reasonable, anything less than 18 months or so is acceptable, especially for a largely complete and sleepy application like JSPWiki.

What a developer doesn't want to do is compromise his integrity by releasing something functionally equivalent but just with a different number, just for the sake of saying he has a new release. (Worse, releasing incomplete work just to make an unnecessary time deadline.) If we lose users because we aren't re-releasing effectively the same application over and over, so be it, but user count just for the sake of user count is not the goal--sharpening the skill sets of the JSPWiki volunteers and building a solid application is.

"Release early, release often" when you don't have anything to release fails as a philosophy because the JSPWiki volunteers are just doing useless busywork then, not only not getting paid for their work but rotting out their skill sets in the process. And continual minor versions--causing users to have to keep upgrading their installations, or at least researching whether that needs to be done--is tiring for the user community as well.

Glen

On 12/02/2013 05:28 AM, Jürgen Weber wrote:
Well, I still think, the most important thing is the user/evaluator
experience:
find the Web page, look at recent changes, download the newest version (and
not one half a year old).
After there is Apache JSPWiki final, I think it is no problem, if there is
each month or even each week a new minor version. I think this is even
good, I have more trust in an open source project if there are new
releases. The software is free, but you still have to invest your precious
time to evaluate and learn it, so you'd rather not chose something looking
dead. And new and recent releases are a very good sign of life. Release
early, release often.

The other day I wrote a new (inhouse) Plugin for JSPWiki, I was once again
amazed how good the API is and how easy it is to enhance the Wiki. This is
also easy because there are *not* a lot of interfaces:
public String execute(WikiContext context
Place the cursor on WikiContext in Eclipse, press F3 and you can read the
code. If WikiContext is an interface this is much more difficult, you
always have to guess which is the real class. Interfaces are better than a
bytecode obfuscator ;-)

Of course, I know about the advantages of interfaces.

Greetings, Juergen
Am 02.12.2013 11:10 schrieb "Juan Pablo Santos Rodríguez" <
juanpablo.san...@gmail.com>:

Hi Jürgen,

well, I was having in mind more of extracting interfaces from managers and
use them throughout the code, rather than creating the API. More
JSPWIKI-155 oriented, as a first step towards JSPWIKI-303. Also, I'd rather
delete the deprecated code, before releasing. Those two things shouldn't
take much time and would be nice to hace on 2.10.0, so I've preferred to
ask for a couple of weeks to ensure I can make them on time (probably
before, but just in case..). WDYT? Other than that, I fully agree with your
comments


br,
juan pablo


On Mon, Dec 2, 2013 at 10:41 AM, Jürgen Weber <juer...@jwi.de> wrote:

JSPWIKI-303 (JSPWiki-API library creation) looks like a major change, it
merits its own release.

I think first priority should be to get out the Apache JSP Wiki version.
No
more changes, just release a working software.
People on the lookout for a wiki software will not chose the one without
releases but will move on to another wiki.
"15-May-2013: Official Apache JSPWiki 2.9.1-incubating release is out!"
This message is over a half year old.

This reminds me of Joel Spolsky's old, but good blog entry:
Things You Should Never Do
http://www.joelonsoftware.com/articles/fog0000000069.html

Thanks, Juergen
Am 01.12.2013 22:12 schrieb "Juan Pablo Santos Rodríguez" <
juanpablo.san...@gmail.com>:

Hi!

Before releasing I'd like to do a couple of things:

- remove @deprecated methods/classes from code (at
$svn/jspwiki-war/src/main/config/2.10-API.txt there're noted a bunch of
them). I'll do it during week if nobody does it before

- advance a little more on JSPWIKI-155 / JSPWIKI-303; in order to not
wait
forever for releasing, a couple of weeks should be enough. So, tagging
and
relese voting should begin not later than 16th of December.

sounds reasonable?


br,
juan pablo


On Sat, Nov 30, 2013 at 3:11 PM, Harry Metske <harry.met...@gmail.com
wrote:
I took the liberty of installing this (svn) version on
jspwiki-vm.apache.org.


But maybe it is time to do an official release now ?

regards,
Harry




On 30 November 2013 14:09, <mets...@apache.org> wrote:

Author: metskem
Date: Sat Nov 30 13:09:36 2013
New Revision: 1546727

URL: http://svn.apache.org/r1546727
Log:
2013-11-30  Harry Metske (mets...@apache.org)

        * 2.10.0-svn-49

        * JSPWIKI-805: more general support for X-Forwarded-For
header
Modified:
     jspwiki/trunk/ChangeLog

jspwiki/trunk/jspwiki-war/src/main/java/org/apache/wiki/Release.java

jspwiki/trunk/jspwiki-war/src/main/java/org/apache/wiki/attachment/AttachmentServlet.java

jspwiki/trunk/jspwiki-war/src/main/java/org/apache/wiki/auth/login/AnonymousLoginModule.java

jspwiki/trunk/jspwiki-war/src/main/java/org/apache/wiki/plugin/IfPlugin.java
     jspwiki/trunk/jspwiki-war/src/main/webapp/Comment.jsp
     jspwiki/trunk/jspwiki-war/src/main/webapp/Delete.jsp
     jspwiki/trunk/jspwiki-war/src/main/webapp/Diff.jsp
     jspwiki/trunk/jspwiki-war/src/main/webapp/Edit.jsp
     jspwiki/trunk/jspwiki-war/src/main/webapp/Rename.jsp

Modified: jspwiki/trunk/ChangeLog
URL:

http://svn.apache.org/viewvc/jspwiki/trunk/ChangeLog?rev=1546727&r1=1546726&r2=1546727&view=diff

==============================================================================
--- jspwiki/trunk/ChangeLog (original)
+++ jspwiki/trunk/ChangeLog Sat Nov 30 13:09:36 2013
@@ -1,3 +1,9 @@
+2013-11-30  Harry Metske (mets...@apache.org)
+
+       * 2.10.0-svn-49
+
+       * JSPWIKI-805: more general support for X-Forwarded-For
header
+
  2013-11-28  Juan Pablo Santos (juanpablo AT apache DOT org)

         * 2.10.0-svn-48

Modified:

jspwiki/trunk/jspwiki-war/src/main/java/org/apache/wiki/Release.java
URL:

http://svn.apache.org/viewvc/jspwiki/trunk/jspwiki-war/src/main/java/org/apache/wiki/Release.java?rev=1546727&r1=1546726&r2=1546727&view=diff

==============================================================================
---
jspwiki/trunk/jspwiki-war/src/main/java/org/apache/wiki/Release.java
(original)
+++
jspwiki/trunk/jspwiki-war/src/main/java/org/apache/wiki/Release.java
Sat Nov 30 13:09:36 2013
@@ -75,7 +75,7 @@ public final class Release
       *  <p>
       *  If the build identifier is empty, it is not added.
       */
-    public static final String     BUILD         = "48";
+    public static final String     BUILD         = "49";

      /**
       *  This is the generic version string you should use

Modified:

jspwiki/trunk/jspwiki-war/src/main/java/org/apache/wiki/attachment/AttachmentServlet.java
URL:

http://svn.apache.org/viewvc/jspwiki/trunk/jspwiki-war/src/main/java/org/apache/wiki/attachment/AttachmentServlet.java?rev=1546727&r1=1546726&r2=1546727&view=diff

==============================================================================
---

jspwiki/trunk/jspwiki-war/src/main/java/org/apache/wiki/attachment/AttachmentServlet.java
(original)
+++

jspwiki/trunk/jspwiki-war/src/main/java/org/apache/wiki/attachment/AttachmentServlet.java
Sat Nov 30 13:09:36 2013
@@ -294,7 +294,7 @@ public class AttachmentServlet extends H

                  if(log.isDebugEnabled())
                  {
-                    msg = "Attachment "+att.getFileName()+" sent
to
"+req.getRemoteUser()+" on "+req.getRemoteAddr();
+                    msg = "Attachment "+att.getFileName()+" sent
to
"+req.getRemoteUser()+" on "+HttpUtil.getRemoteAddress(req);
                      log.debug( msg );
                  }
                  if( nextPage != null ) res.sendRedirect( nextPage
);
Modified:

jspwiki/trunk/jspwiki-war/src/main/java/org/apache/wiki/auth/login/AnonymousLoginModule.java
URL:

http://svn.apache.org/viewvc/jspwiki/trunk/jspwiki-war/src/main/java/org/apache/wiki/auth/login/AnonymousLoginModule.java?rev=1546727&r1=1546726&r2=1546727&view=diff

==============================================================================
---

jspwiki/trunk/jspwiki-war/src/main/java/org/apache/wiki/auth/login/AnonymousLoginModule.java
(original)
+++

jspwiki/trunk/jspwiki-war/src/main/java/org/apache/wiki/auth/login/AnonymousLoginModule.java
Sat Nov 30 13:09:36 2013
@@ -29,6 +29,7 @@ import javax.servlet.http.HttpSession;
  import org.apache.log4j.Logger;

  import org.apache.wiki.auth.WikiPrincipal;
+import org.apache.wiki.util.HttpUtil;

  /**
   * <p>
@@ -79,7 +80,7 @@ public class AnonymousLoginModule extend
          {
              m_handler.handle( callbacks );
              HttpServletRequest request = hcb.getRequest();
-            WikiPrincipal ipAddr = new WikiPrincipal(
request.getRemoteAddr() );
+            WikiPrincipal ipAddr = new WikiPrincipal(
HttpUtil.getRemoteAddress(request) );
              if ( log.isDebugEnabled() )
              {
                  HttpSession session = request.getSession( false );

Modified:

jspwiki/trunk/jspwiki-war/src/main/java/org/apache/wiki/plugin/IfPlugin.java
URL:

http://svn.apache.org/viewvc/jspwiki/trunk/jspwiki-war/src/main/java/org/apache/wiki/plugin/IfPlugin.java?rev=1546727&r1=1546726&r2=1546727&view=diff

==============================================================================
---

jspwiki/trunk/jspwiki-war/src/main/java/org/apache/wiki/plugin/IfPlugin.java
(original)
+++

jspwiki/trunk/jspwiki-war/src/main/java/org/apache/wiki/plugin/IfPlugin.java
Sat Nov 30 13:09:36 2013
@@ -28,6 +28,7 @@ import org.apache.wiki.WikiContext;
  import org.apache.wiki.WikiProvider;
  import org.apache.wiki.api.exceptions.PluginException;
  import org.apache.wiki.api.plugin.WikiPlugin;
+import org.apache.wiki.util.HttpUtil;
  import org.apache.wiki.util.TextUtil;

  /**
@@ -275,7 +276,7 @@ public class IfPlugin implements WikiPlu
                  }
              }

-            include |= ipaddrToCheck.equals(
context.getHttpRequest().getRemoteAddr() ) ^ invert;
+            include |= ipaddrToCheck.equals(
HttpUtil.getRemoteAddress(context.getHttpRequest()) ) ^ invert;
          }
          return include;
      }

Modified: jspwiki/trunk/jspwiki-war/src/main/webapp/Comment.jsp
URL:

http://svn.apache.org/viewvc/jspwiki/trunk/jspwiki-war/src/main/webapp/Comment.jsp?rev=1546727&r1=1546726&r2=1546727&view=diff

==============================================================================
--- jspwiki/trunk/jspwiki-war/src/main/webapp/Comment.jsp
(original)
+++ jspwiki/trunk/jspwiki-war/src/main/webapp/Comment.jsp Sat Nov
30
13:09:36 2013
@@ -20,6 +20,7 @@
  <%@ page import="org.apache.log4j.*" %>
  <%@ page import="java.util.*" %>
  <%@ page import="java.text.SimpleDateFormat" %>
+<%@ page import="org.apache.wiki.util.HttpUtil" %>
  <%@ page import="org.apache.wiki.*" %>
  <%@ page import="org.apache.wiki.api.exceptions.RedirectException"
%>
  <%@ page import="org.apache.wiki.filters.SpamFilter" %>
@@ -129,7 +130,7 @@

      if( ok != null )
      {
-        log.info("Saving page "+pagereq+". User="+storedUser+",
host="+request.getRemoteAddr() );
+        log.info("Saving page "+pagereq+". User="+storedUser+",
host="+HttpUtil.getRemoteAddress(request) );

          //  Modifications are written here before actual saving

@@ -273,7 +274,7 @@
          return;
      }

-    log.info("Commenting page "+pagereq+".
User="+request.getRemoteUser()+", host="+request.getRemoteAddr() );
+    log.info("Commenting page "+pagereq+".
User="+request.getRemoteUser()+",
host="+HttpUtil.getRemoteAddress(request)
);

      //
      //  Determine and store the date the latest version was
changed.
  Since

Modified: jspwiki/trunk/jspwiki-war/src/main/webapp/Delete.jsp
URL:

http://svn.apache.org/viewvc/jspwiki/trunk/jspwiki-war/src/main/webapp/Delete.jsp?rev=1546727&r1=1546726&r2=1546727&view=diff

==============================================================================
--- jspwiki/trunk/jspwiki-war/src/main/webapp/Delete.jsp (original)
+++ jspwiki/trunk/jspwiki-war/src/main/webapp/Delete.jsp Sat Nov 30
13:09:36 2013
@@ -19,6 +19,7 @@

  <%@ page import="org.apache.log4j.*" %>
  <%@ page import="org.apache.wiki.*" %>
+<%@ page import="org.apache.wiki.util.HttpUtil" %>
  <%@ page import="org.apache.wiki.tags.BreadcrumbsTag" %>
  <%@ page import="org.apache.wiki.tags.BreadcrumbsTag.FixedQueue"
%>
  <%@ page import="java.util.*" %>
@@ -57,7 +58,7 @@

      if( deleteall != null )
      {
-        log.info("Deleting page "+pagereq+".
User="+request.getRemoteUser()+", host="+request.getRemoteAddr() );
+        log.info("Deleting page "+pagereq+".
User="+request.getRemoteUser()+",
host="+HttpUtil.getRemoteAddress(request)
);

          wiki.deletePage( pagereq );


Modified: jspwiki/trunk/jspwiki-war/src/main/webapp/Diff.jsp
URL:

http://svn.apache.org/viewvc/jspwiki/trunk/jspwiki-war/src/main/webapp/Diff.jsp?rev=1546727&r1=1546726&r2=1546727&view=diff

==============================================================================
--- jspwiki/trunk/jspwiki-war/src/main/webapp/Diff.jsp (original)
+++ jspwiki/trunk/jspwiki-war/src/main/webapp/Diff.jsp Sat Nov 30
13:09:36
2013
@@ -19,6 +19,7 @@

  <%@ page import="org.apache.log4j.*" %>
  <%@ page import="org.apache.wiki.*" %>
+<%@ page import="org.apache.wiki.util.HttpUtil" %>
  <%@ page import="org.apache.wiki.preferences.Preferences" %>
  <%@ page import="org.apache.wiki.util.*" %>
  <%@ page import="org.apache.wiki.tags.InsertDiffTag" %>
@@ -83,7 +84,7 @@
                                new Integer(ver2),
                                PageContext.REQUEST_SCOPE );

-    // log.debug("Request for page diff for '"+pagereq+"' from
"+request.getRemoteAddr()+" by "+request.getRemoteUser()+".
  R1="+ver1+",
R2="+ver2 );
+    // log.debug("Request for page diff for '"+pagereq+"' from
"+HttpUtil.getRemoteAddress(request)+" by
"+request.getRemoteUser()+".
  R1="+ver1+", R2="+ver2 );

      // Set the content type and include the response content
      response.setContentType("text/html;
charset="+wiki.getContentEncoding() );

Modified: jspwiki/trunk/jspwiki-war/src/main/webapp/Edit.jsp
URL:

http://svn.apache.org/viewvc/jspwiki/trunk/jspwiki-war/src/main/webapp/Edit.jsp?rev=1546727&r1=1546726&r2=1546727&view=diff

==============================================================================
--- jspwiki/trunk/jspwiki-war/src/main/webapp/Edit.jsp (original)
+++ jspwiki/trunk/jspwiki-war/src/main/webapp/Edit.jsp Sat Nov 30
13:09:36
2013
@@ -20,6 +20,7 @@
  <%@ page import="org.apache.log4j.*" %>
  <%@ page import="java.util.*" %>
  <%@ page import="org.apache.wiki.*" %>
+<%@ page import="org.apache.wiki.util.HttpUtil" %>
  <%@ page import="org.apache.wiki.api.exceptions.RedirectException"
%>
  <%@ page import="org.apache.wiki.filters.SpamFilter" %>
  <%@ page
import="org.apache.wiki.htmltowiki.HtmlStringToWikiTranslator"
%>
@@ -108,7 +109,7 @@

      if( ok != null || captcha != null )
      {
-        log.info("Saving page "+pagereq+". User="+user+",
host="+request.getRemoteAddr() );
+        log.info("Saving page "+pagereq+". User="+user+",
host="+HttpUtil.getRemoteAddress(request) );

          //
          //  Check for session expiry
@@ -260,7 +261,7 @@

      session.removeAttribute( EditorManager.REQ_EDITEDTEXT );

-    log.info("Editing page "+pagereq+". User="+user+",
host="+request.getRemoteAddr() );
+    log.info("Editing page "+pagereq+". User="+user+",
host="+HttpUtil.getRemoteAddress(request) );

      //
      //  Determine and store the date the latest version was
changed.
  Since

Modified: jspwiki/trunk/jspwiki-war/src/main/webapp/Rename.jsp
URL:

http://svn.apache.org/viewvc/jspwiki/trunk/jspwiki-war/src/main/webapp/Rename.jsp?rev=1546727&r1=1546726&r2=1546727&view=diff

==============================================================================
--- jspwiki/trunk/jspwiki-war/src/main/webapp/Rename.jsp (original)
+++ jspwiki/trunk/jspwiki-war/src/main/webapp/Rename.jsp Sat Nov 30
13:09:36 2013
@@ -19,6 +19,7 @@

  <%@ page import="org.apache.log4j.*" %>
  <%@ page import="org.apache.wiki.*" %>
+<%@ page import="org.apache.wiki.util.HttpUtil" %>
  <%@ page import="org.apache.wiki.api.exceptions.WikiException" %>
  <%@ page import="org.apache.wiki.preferences.Preferences" %>
  <%@ page import="org.apache.wiki.tags.BreadcrumbsTag" %>
@@ -52,7 +53,7 @@
          changeReferences = true;
      }

-    log.info("Page rename request for page '"+renameFrom+ "' to
new
name
'"+renameTo+"' from "+request.getRemoteAddr()+" by
"+request.getRemoteUser() );
+    log.info("Page rename request for page '"+renameFrom+ "' to
new
name
'"+renameTo+"' from "+HttpUtil.getRemoteAddress(request)+" by
"+request.getRemoteUser() );

      WikiSession wikiSession = wikiContext.getWikiSession();
      try




Reply via email to