Development Plan post 3.1.0

The current Inheritance thread is very interesting as to how Vassal can develop over the longer term. The changes involved in these sort of changes are obviously large, with a great deal of refactoring and this makes concurrent development of smaller changes much harder to merge in later. This sounds like it might be Vassal 4.0?

I would find it very helpful if we developers could agree on a (rough) development outline for the shorter term covering what we might plan to include in 3.1.x, 3.2, 3.3. Personally, I have over a dozen Enhancements more or less ready, that I have put on hold waiting for 3.1 to finish. These range from cosmetic (Icon support, Editor GUI changes), through minor functionality enhancements (MP3 support) up to fairly major feature additions (Named Keystrokes, Calculated Properties, BeanShell Scripting).

Most of these changes I have built on older branches and it is far too much work to continually keep them all merged up to current, so I plan to basically merge/reimplement them into a target release when we are ready.

My feeling is that 3.1.x releases should probably only contain bug fixes, cosmetic changes and perhaps minor functionality addition (e.g. MP3 support) and that we should work towards 3.2 asap with more major functionality additions.

I’d like us developers to put forward what RFE’s we have ready and at what stage they are and put together a (very) rough release plan for those RFE’s and perhaps even some target dates we could work towards for releases.

Thoughts?
B.

I have to admit that I haven’t worked on any 3.2 enhancements at all
(beyond what little I’ve done on the JOGL front – but none of that
was with the VASSAL branch). My primary reason was that I didn’t want
to continuously update more than one branch.

I have plenty of ideas for enhancements, however.

  • M.

On 31/12/2008, Brent Easton messages@forums.vassalengine.org wrote:


Michael Kiefte, Ph.D.
Associate Professor
School of Human Communication Disorders
Dalhousie University
Halifax, Nova Scotia, Canada
tel: +1 902 494 5150
fax: +1 902 494 5151


Messages mailing list
Messages@forums.vassalengine.org
forums.vassalengine.org/mailman/ … engine.org

Post generated using Mail2Forum (mail2forum.com)

Thus spake “Brent Easton”:

Actually, I think it would be possible to do the model/view separation a
few classes at a time, since any of the initial views I have in mind would
depend on exactly one model class.

I’m opposed to putting new functionality into any 3.1.x release, so long as
we plan to release 3.2.0 sometime during 2008Q1.

Here’s what I think are the most important areas in terms of focus, in
no particular order:

  1. Documentation
  2. Site Infrastructure
  3. Better Log Management
  4. Appearance

Why:

  1. We all know that we need better documentaion. What I think we should do
    here is find someone to lead the documentation effort. This will be an
    ongoing project which requires some developer input at the outset, but
    decreasing input from us as time goes on.

  2. I intend to get the new site setup right after we release 3.1.0, so this
    will occupy some part of January for me. After the initial setup, I’d like
    to find someone to head up looking after the module library.

  3. The primary reason I see given for why people prefer Cyberboard is that
    it has better PBEM facilities, which amounts mainly to log management. (I
    seldom see any other reasons given, aside from documentation, which we can
    fix, and familiarity.) Unlike the first two areas, this a well-defined and
    straightforward task with a clear end point. The relevant RFEs are 1638109,
    1638047, and 1638119, part of 1633160, and these depend on 1565953 (tabs).
    I already have a tab demo, and Tim M and I worked out a design for the log
    pane GUI.

  4. The primary reason I see given for why people prefer ZunTzu is that it’s
    shiny. We have a huge number of uglies right now, which I’d categorize as
    follows:

(a) poor GUI layout
(b) odd/uninformative messages
(c) lack of smooth zooming/rotation
(d) poor performance

Of these, (a) and (b) are huge jobs, but extremely modular, and so can be
tackled a little at a time. (c) is in the works already, witness Michael’s
demo. (d) is also an ongoing battle, bug generally is also very modular.

What I’m driving at with all of these (especially 3 and 4) is that we need
to think about why people use other virtual gameboard software and remove
those reasons.

Specifically, I’d like to release 3.2 when these things are ready:

  • docking/tabs
  • logging improvements
  • icons

And release 3.3 when these things are ready:

  • rotation and scaling with JOGL

along with whatever else is ready by the point when we do the release,
in each case.

Since all three of the things I mentioned for 3.2 are already underway,
would sometime in March be too optimistic for 3.2.0-beta1?


J.


Messages mailing list
Messages@forums.vassalengine.org
forums.vassalengine.org/mailman/ … engine.org

Post generated using Mail2Forum (mail2forum.com)

Yes. I agree on documentation. When you where out we discussed a system based on mediaWiki using plugins to generate documentation in pdf or html. This would have a number of advantages:

  • Identical documentation can be displayed online via the web, available for download for local perusal and included in the Vassal release and installed with Vassal itself.

  • Easier access for ‘helpers’ to get their hands dirty without needing to install SVN.

Agreed. The current system has become unwieldy.

Yes, that will be nice to see.

That would suit me. I’m ready to start work on 3.2 the day 3.1 goes live. I would rather go for 3.2 in March with whatever we have ready at that time. I plan to keep plugging away at a range of stuff, with the following already done to varying levels of completion:

Done:
2132985 Facility to generate many counters from a folder of images
2005474 Allow Dynamic Property Select Value list to be dynamic
2005463 Add Description field to Multi-Action button
1913850 mp3 support
1637068 indirection when resolving properties
1637066 namespaces for properties
1604275 Move Level up/down within Layer
1604269 Specify keystrokes by name

Mostly Done:
1565025 Calculated Property and General Mathematical Expressions
1199542 Scenario Counter Refresher

Other small jobs I might get to:
2456733 Option to make a Map Global Key Command global
2259408 Allow navigation of sub-folders in Saved Game Folders
1912215 Report formats to use standard property names
1377512 Add $range$ as an option to Movement Auto-Report formatter

I’ve also done a lot of work on the lowest level support for Icons following the Tango convention.

B.


Messages mailing list
Messages@forums.vassalengine.org
forums.vassalengine.org/mailman/ … engine.org

Post generated using Mail2Forum (mail2forum.com)

Something to throw in there with the goal list, that ought to be done (if possible)
Automatic software notification and/or updates.

Noticing that my little java icon tells me I need to update and how windoze just fixes me randomly once in a while without telling me got me thinking the most common thing we’ve been seeing lately are users stuck on old versions, not looking for / or are aware of latest beta stuff.

The old will go away with 3.1.0 release but apart from links and announcements no one will know there is an upgrade if they dont see this (be honest here, you can sticky posts, blare loud music and all kind of flashing red lights on websites everywhere) but people just find it easier to put in there help me post “I’m using this / Why doesn’t it work etc…” than bother to look! :slight_smile: And we will keep seeing these posts forever with the standard “recommend you upgrade to version xxx” reply by someone.

Perhaps whenever users connect with server, a check can be made with server (knowing latest version) and while letting anyone connect, if their version is out of date, it can throw back a nice “Hi there, did you know there is an upgrade to vassal over your current version” type message with a link if they so wish to upgrade.

This would be best if it excluded svn builds, but perhaps allow beta’s?
Either way something will need to address that most common help question

Brent, weren’t you also working on terrain properties?

  • M.

On 31/12/2008, Brent Easton b.easton@exemail.com.au wrote:


Michael Kiefte, Ph.D.
Associate Professor
School of Human Communication Disorders
Dalhousie University
Halifax, Nova Scotia, Canada
tel: +1 902 494 5150
fax: +1 902 494 5151


Messages mailing list
Messages@forums.vassalengine.org
forums.vassalengine.org/mailman/ … engine.org

Post generated using Mail2Forum (mail2forum.com)

I’d be glad to help in the documentation area. I’ve had a lot of experience writing rule books over the years.

It’s not something that I would want to lead and organize (I’ve had a lot of experience at that, too, but my primary focus is developing To Be King right now), but I would be glad to create interactive examples and demos …small mini-modules focusing on a specific concepts, ideas, etc detailing each step so the developer can get a clear picture of what’s going on.

Thus spake “Brent Easton”:

Right. Are there any particular plugins I should look for?

Ok, sounds good.


J.


Messages mailing list
Messages@forums.vassalengine.org
forums.vassalengine.org/mailman/ … engine.org

Post generated using Mail2Forum (mail2forum.com)

Thus spake “Tim M”:

We already have that, and it works like you described—I added it in beta5,
IIRC. Every 10 days (with a random offset, to spread checks evenly over the
week) the Module Manager checks whether the version you’re running is current.
If you want to trigger it manually, look under Help > Check for Updates…

Because it’s client-side checking, people using 3.0 or before won’t get
any such notifications, but once we’ve released 3.1 and all of the modules
are updated to work with it, there shouldn’t be many people still using
anything older.


J.


Messages mailing list
Messages@forums.vassalengine.org
forums.vassalengine.org/mailman/ … engine.org

Post generated using Mail2Forum (mail2forum.com)

Thus spake “Dr_Nostromo”:

We need both an organizer and writers, so help would be welcome. Watch
this space in January…

J.


Messages mailing list
Messages@forums.vassalengine.org
forums.vassalengine.org/mailman/ … engine.org

Post generated using Mail2Forum (mail2forum.com)

I don’t know, you’re the one who told me such beasties existed :slight_smile: You described a plugin that could export a mediawiki ‘section’ and create a standard HTML version of it.

I’ve had a quick look arounf the MediaWiki meta-wiki and there are references to exporting as both static HTML and PDF. It looks like it should not be too much of a problem, but will need tailoring to suit us. Once we sort it out, we should be able to automate it all.

B.


Messages mailing list
Messages@forums.vassalengine.org
forums.vassalengine.org/mailman/ … engine.org

Post generated using Mail2Forum (mail2forum.com)

Yes indeed, that work is greatly advanced also. I could get the basics for this into 3.2 also. I have been holding back on that because you will only have fairly basic access to the terrain data using standard Vassal components. The two modules I built it for (AVL and TDC) both use custom Java to do teh fancy stuff. However, it is something I would really like to get in so that other developers can build on it also.

Joel, I’ll have a little time of the next week or two so am planning to get started on merging in 3.2 stuff as soon as 3.1 settles down (if not sooner!). Barring disasters, beta7 is planned to be purely bug fixes and translation yes?

B.


Messages mailing list
Messages@forums.vassalengine.org
forums.vassalengine.org/mailman/ … engine.org

Post generated using Mail2Forum (mail2forum.com)

Believe it or not, this is actually implemented in VASSAL 3.0. I used it for a while to nudge people to upgrade, but stopped updating the notices when I moved to Java Web Start. (Actually, the main motivation for using Web Start was to solve this very problem.) We’ll be able to give notice to anybody running a version < 3.1 that there’s an upgrade available. We can do boolean logic on the version number, so we can even, for example, give a notice for bug patch but not feature releases, e.g. notify people running 3.1.x where x is not the latest, but let people running 3.0.17 slide by.

rk

Post generated using Mail2Forum (mail2forum.com)

Simile for modules would be an admirable goal, along with auto-downloading and installing. Perhaps built into the Module Manager? Obviously requires significantly more complex module repository functionality than we have now. Something to keep in mind when you are reviewing the module storage Joel?

B.


Messages mailing list
Messages@forums.vassalengine.org
forums.vassalengine.org/mailman/ … engine.org

Post generated using Mail2Forum (mail2forum.com)

Indeed, this is a goal worth aiming for long term.
At the end of the day it might also have a right click option for email
module support in MM with each module (or similar).

There’s a lot of potential within the MM for other things meta data related
that each module could use that users could glean for information such as
module usage/ frequency / popularity etc…

Post generated using Mail2Forum (mail2forum.com)

Were you able to add in modifications for LOS thread based on terrain like
we discussed in a simple manner (eons ago: solid line - clear sight / broken
line - obscured/hidden), or is that train of thought still dependent on
adding a drawing graphic wizard to define the actual areas of terrain.

Happy new year to all btw

Post generated using Mail2Forum (mail2forum.com)

Thus spake “Brent Easton”:

Yes.

J.


Messages mailing list
Messages@forums.vassalengine.org
forums.vassalengine.org/mailman/ … engine.org

Post generated using Mail2Forum (mail2forum.com)

Thus spake “Rodney Kinney”:

That’s good, as otherwise there’s no way to notify a lot of 3.0- users.


J.


Messages mailing list
Messages@forums.vassalengine.org
forums.vassalengine.org/mailman/ … engine.org

Post generated using Mail2Forum (mail2forum.com)

One other thing to possibly add in to the plan:

The properties handling (caching and access) that was discussed offline back in October. I think the final outcome of this discussion was it would be relatively quick and easy to do for good gain but to wait till after 3.1 release.