Code Monkey home page Code Monkey logo

cropplanning's People

Contributors

claytonrcarter avatar

cropplanning's Issues

Inconsistent Cell/TextBox Editing

Cell editors are not implemented in the table view although there are
constraints on the values entered into the detail view. We should define
numerous cell/textbox editors and assign them to each column or textbox
accordingly.

Eg: DateEditor could handle numerous date formats and format them all to a
standard which could stay in the db.

Eg: TextAutoCompleteFromDBColumnEditor or some such that could take a
column name and a DataModel, or a property type, and retrieve all of those
values from the database. The values would be used to populate the
autocomplete function.

Original issue reported on code.google.com by [email protected] on 14 Jan 2008 at 11:54

Calendar View

Related to 
<a href="http://code.google.com/p/cropplanning/issues/detail?id=14">
issue 14</a>;

Allow users to display a crop plan in a calendar view based upon the dates
in the plan.

Original issue reported on code.google.com by [email protected] on 17 Jan 2008 at 2:21

Improved modularity of modules

Perhaps a slight fork of issue 20, but we should enforce a system where
modules have the following high level methods:

 * constructor/load() - load module and do any initial work that doesn't
require any outside dependencies
 * init() - finish any initial work that DOES require external dependencies
(on crop plans, say, or databases)
 * reinit() - _maybe_, this would push through any changes in settings and
such, perhaps reload w/ a new datamodel
 * shutdown() - close connections, save settings, save state, etc

The rudiments of this are in place already in the basic API data structures
and interfaces, but modules will need to be retrofitted and the driver
module (CropPlanning) and ModuleManager will need some minor reworking to
make it work.

Original issue reported on code.google.com by [email protected] on 11 Dec 2008 at 2:44

Add Context Menu to "New" and "Duplicate" Buttons in Crop Plan List View


Right clicking on the "New" and "Duplicate" buttons should present a menu
allowing the user to access special functions for creating new entries:

   * "New"
    * "... planting of same crop"
    * "... planting of same variety"
        * "... crop in CropDB"
    * "... variety of selected crop in CropDB"
   * "Duplicate"
    * "... +1 week"
    * "... +2 weeks"
    * "... +1 month"
    * "... +2 months"
    * "... -1 week"

*Explanations*

"... planting of same crop" simply creates a new planting w/ the crop name
already filled in w/ the value of the selected entries crop name

"... planting of same variety" does the same except w/ crop and variety
names; ALTHOUGH, this is more or less just a "duplicate"

"... crop in CropDB" creates a new entry in the CropDB w/ all of the
information from the selected row; variety name should be left blank;
grey-out if crop already exists

"... variety of selected crop" same as above except fills in variety name;
grey out if variety already exists

The duplicate menu items are fairly self explanatory.  The program will
have to shift all dates which the user has entered (the .isValid() or
isConcrete() methods should check this).


Original issue reported on code.google.com by [email protected] on 1 Apr 2008 at 2:13

Planting Groups

Plantings should belong to "planting groups" which could be collapsed in
the plan.  Example: a plan might have numerous entries for "tomatoes", each
a different variety or something, but they would all be treated as a single
planting in effect.

Original issue reported on code.google.com by [email protected] on 17 Jan 2008 at 2:58

Select Which Columns to Display in Master/Table/List View

As of mid-Jan 2008, the user cannot select which columns to display in the
tables.

User should be able to right click and select columns for display. This
list will have to be sent back to the datamodel (for caching?) for use when
submitting "abbreviated" queries.

Original issue reported on code.google.com by [email protected] on 14 Jan 2008 at 11:59

Improved Filtering

Filtering should work for mulitple words: "melon plastic" should filter for
records with "melon" and "plastic".

Date filtering: May should filter for all records w/ dates in May.

Original issue reported on code.google.com by [email protected] on 28 Jan 2008 at 7:52

Include summary in the todo lists

From comment 2 in issue 14:

TODO lists should include a summary line at the bottom of each list.  It
should display totals for: flats, rowfeet, beds, etc

This is already supported by the data model, so it's just a matter of
adding it to the lists.

Original issue reported on code.google.com by [email protected] on 27 Sep 2008 at 11:55

Column header should display sort order in Table/List View

As of mid-Jan 2008, users can select which columns to sort and which order
to sort them simply by clicking on the column headers. The headers do not
display which column is being sorted, though.

Column headers should be given custom renderers which change color when a
column is sorted and should display an arrow indicating the sort order.


Original issue reported on code.google.com by [email protected] on 14 Jan 2008 at 11:57

Seed Ordering


In order for the program to be useful for seed ordering, we will have to
track the following data:

 * amount needed per foot (or per 100'; in oz or grams)
 * sources of variety (ie catalogs)
 * item # and page (per source or catalog)
 * longevity of seed viability (order every year, 5 yr, 10 yr, etc...)
 * others??

These would tracked in the CropDB and users wanting to use the seed order
functions would have to use the CropDB.

In lieu of a proper in-program catalog aggregation and seed ordering
feature, we could then generate a "Seed Ordering Worksheet" from a
particular crop plan.  These worksheets might include the following data:

 * crop
 * variety
 * total plantings
 * total beds
 * total rowfeet
 * total flats
 * seed/foot (if appl.)
 * total seed needed (if appl.)
 * source/sources
 * cat # and page
 * planted last year?
 * have left over seed?
 * amt adjusted for leftover seed
 * notes?
 * how much ordered last year
 * how much is left from last year
 * did we reorder last year

 The user could then use this information or print out (specifically, the
source, cat#/page and total seed needed) to make ordering seeds easier.

Original issue reported on code.google.com by [email protected] on 1 Apr 2008 at 3:07

Handle "ENTER" in Detail View

What should "Enter" key do in Detail view?  Save record or just advance to
next field?  Resolve this question and then make it so.

Original issue reported on code.google.com by [email protected] on 15 Jan 2008 at 4:12

Autocomplete textboxes

The program already contains code to support autocompletion of some text
boxes (see the crop name in the CropPlans list view). This support should
be extended to all text boxes in the detail view that will have free-form
text entry.

Examples: Crop Name, Var. Name, Keywords, Groups, Family Name, etc.

This will improve the user experience by easing the task of data entry. It
will also reduce the amount of inconsistent entries.

Original issue reported on code.google.com by [email protected] on 15 Jan 2008 at 12:07

Complete Javadoc of Code

What steps will reproduce the problem?
1.
2.
3.

What is the expected output? What do you see instead?


Please use labels and text to provide additional information.


Original issue reported on code.google.com by [email protected] on 15 Jan 2008 at 12:15

Impolite Behaviour of JFrame, JSplitPane

The window and the contained panes should behave more politely and "work
together".  They don't resize together or respect each others boundaries. 
Well, they should.

Original issue reported on code.google.com by [email protected] on 16 Jan 2008 at 2:03

Rewrite db queries to return CPS objects

Currently, the list view and the detail view operate completely separately
and the code involves a lot of acrobatics to translate from CPS Objects
(Crops, Plantings, etc) to the db view.

We should rewrite all of the db calls so that they only return CPS Objects,
or lists thereof.  Then we can use something like Glazed Lists
(http://publicobject.com/glazedlists/) to handle the display of the data. 
When an object is clicked upon, it's just thrown over the detail view as
is, no more db queries.

Concern:
given the speed of HSQL, turning all of those entries into objects might
actually be slower than just bouncing queries off the db.

Original issue reported on code.google.com by [email protected] on 18 Oct 2008 at 2:50

Add germination information

Closely related to Issue 48, we could add capabilities to handle more
germination stats (temps, bottom heat, moisture, days until ..., etc). 
This could give more precise instructions at seeding time.

Original issue reported on code.google.com by [email protected] on 24 Jan 2009 at 4:15

Crop Timelines

Associate "timelines" of operations with crops in the database.  These
would be lists of operations, approx time to complete each operation and an
approximate time/date/week after planting for when they would happen.

This data could then be used for other reporting tasks, such as calendar
view (issue 13), todo lists (issue 14) and labor budgets.

Original issue reported on code.google.com by [email protected] on 17 Jan 2008 at 2:29

More PDF Exportable Reports: Crop Plan Summaries

User should be able to generate summaries of crop plans which can be
exported to PDF for printing.  These could include:

total/summary of crops and/or varieties by bed/rowfeet/yield

General statistics:
number of flats used
number of plantings which are DS or TP

Original issue reported on code.google.com by [email protected] on 1 Apr 2008 at 1:39

Improved Statistics String in Crop Plan List

Two improvements:

1) add a context menu to select which statistics to display
2) when multiple records are selected in the list, then the statistics
string should be updated just for those records

Original issue reported on code.google.com by [email protected] on 1 Apr 2008 at 1:54

Advanced Text Filtering


By default, text filters are ANDed and apply to all filterable fields.

We should add the following features:

1. NOT and OR keywords

2. literal string matching via double quotes (lower priority)

3. targeted field matching via search term prefixes.  This is the real
cherry on top.  We could recognize the following prefixes (or any leading
substring of them) to limit specific terms to specific fields:
    crop: Crop Name
    variety: Variety Name
    plant: Planting Date
    transplant: TP Date
    harvest: Harvest Date
    flat: Flat Size
    field or location: Field or Location
    group: Groups
    notes: Notes
    otherreq: Other Requirements
    etc...



Original issue reported on code.google.com by [email protected] on 1 Apr 2008 at 2:54

Wizard or script to evaluate plan post-season and create next year's plan.

Create a wizard that a user could pull up that would step them through this
or last years plan (or any plan, if fact) and have them evaluate it
planting by planting or crop by crop in order to update it for next year.

They should be able to say:
 * this planting was perfect
 * need more or less of this
 * need this more or less frequently
 * plant or care for this differently
 * "this crop doesn't exist in CropDB, create?"

This should also happen for crops in the CropDB:
 * this crop was planted perfectly
 * change spacing, times, maturity, etc, etc


Original issue reported on code.google.com by [email protected] on 10 Dec 2008 at 10:24

Add germination factor

Add a data field to track the germination percentage of a particular
variety.  This would be different than the "fudge factor" as currently
implemented.  As noted by StriderSnowbear (Jim), if you assume that the
fudge factor is tied to germination percentage, then the calculation is wrong:

---
A note on the fudge factor calculation.  If you want to actually calculate
the germination percentage accurately you will have to switch to the proper
mathematical formula.  The one you are using is not correct.  Your
automatic fudge factor is 20% in the settings menu, but the number of
transplants that the user is told to start actually is calculated as a 83%
germination vice the 80% germination indicated by the use of the 20 factor.
 This mistake is also present in the Market Farm Forms by Rosenweig, so
don't feel bad.  

Example:
you need 1000 transplants 
Germination % is 80%

Your formula is the following:
P * (1+G/100) = X
where P is the number of seeds to plant
G is the fudge factor in integer value vice in %germination
X is the number of transplants

Your result:  (1000) * 1.2 = 1200 seeds to start to get 1000 plants

but the actual number of plants you will get is this 1200 * (.80) = 960
transplants (you are short 40 transplants) as your formula calculates an
83% germination vice the 80% desired.  The effect of this error gets very
large as one heads toward 10's of thousands of transplants and/or the
germination percentage is a low number (say 75% vice 95%).

The correct formula is the following:

X = P/G
where X is the number of seeds to plant
P is the number of transplants needed
G is the germination percentage in decimal form

X = (1000)/(.80)  
   = 1250 seeds to start


Original issue reported on code.google.com by [email protected] on 24 Jan 2009 at 4:13

Improve Consistence of Selections in List View


 * select one row: enable all buttons & display selected entry
 * select multiple rows: change "Planting" to "plantings", disable
"duplicate" and "delete" (unless, of course, those functions can handle
multiple records), and display a common info query for those rows
 * when selection is canceled, or just no selection:
   (ie, data is updated and selected row no longer
   valid), blank the detail display and disable the 
   save/discard buttons
 * when no entries, "New" button should still be enabled
 * if only one row is returned from a filter, that row should be selected.

These rules should be reapplied when the data is updated and the table is
redisplayed: if all selected entries are still in the table, then make sure
they're still selected.  If all entries are not in the table, then make
sure that NONE of them are selected.

Original issue reported on code.google.com by [email protected] on 1 Apr 2008 at 3:47

Translations (t9n & i18n)

The software is heavily english.  We need to internationalize it, first and
foremost, and then begin providing translations.  Top translation
priorities: Spanish, Somali and Hmong.

Original issue reported on code.google.com by [email protected] on 2 Feb 2008 at 11:12

Advanced Planting Duplication

Control or Right clicking on the "Duplicate" button should present a popup
menu allowing the user to select from the following options:

1. Duplicate
2. Dupe & shift 1 week
3. Dupe & shift 2 weeks
4. Dupe & shift 1 month

Etc. 

Original issue reported on code.google.com by [email protected] on 5 Feb 2008 at 7:36

Export to Excel

We should use the Java Excel API at http://jexcelapi.sourceforge.net/ to
export to (and possibly import from) .xls format.  This would probably give
users warm fuzzies about being able to keep using their data even if the
program itself doesn't meet their needs.

Original issue reported on code.google.com by [email protected] on 3 Mar 2008 at 5:53

Streamline the startup experience for new users

New users will be COMPLETELY confused by the startup experience.  There
should be a "wizard" or something to step them through a couple of things:

1. location of data files
2. location of output files
3. create a new crop plan to work with

We should also provide some sort of info about how to create plantings
and/or crops.

This is a critical issue and will affect anyone who downloads the software.
 It's way, WAY confusing.

Original issue reported on code.google.com by [email protected] on 28 Sep 2008 at 12:24

HSQLDB Module Upgrades

The database should store metadata about the last "known" version of the
HSQLDB module. (ie, which version was last used to access/modify the db) 
When a discrepancy is found (eg, the module is upgraded/updated), the
module should be able to "upgrade" the db to match the current
specification.  This should be incremental.

ie
  v0.0.8 ==> v0.0.9: "ALTER TABLE <cropplan> ADD COLUMN ..."
  v0.0.9 ==> v0.1.0: "ALTER TABLE crops_varieties ALTER COLUMN ... RENAME ...

and so on.  Then, if say a users upgrades from v0.0.8 to v0.1.0, all
statements in between the two would be executed sequentially and would, in
theory, bring everything up to parity.

Original issue reported on code.google.com by [email protected] on 2 Feb 2008 at 4:16

Proper Propagation of Program Preferences


Generally, the program grabs global settings (all settings, in fact) as it
needs them.  This is fine in most cases, but not for others.  The HSQLDB
module, for instance, grabs the data output directory at startup and never
checks it again.  If the user wants to change the location they keep their
data, they have to make the change and restart the program.  This is
somewhat counterintuitive.

PROPOSED FIX:
Define a settingsUpdated() method in one of the module classes and
implement it each of the modules.  For most of them, it would be empty.  We
could then call the settingsUpdated() method when the settings dialog is
closed.

Original issue reported on code.google.com by [email protected] on 1 Apr 2008 at 2:38

Sanity Checks


Provide a way for the program to give the user feedback regarding the
feasibility of a planting.

Examples:

 * planting or transplanting date is before last frost date
 * harvest date is after first frost date
 * number of beds planned exceeds space available

Original issue reported on code.google.com by [email protected] on 19 Dec 2008 at 2:23

Limit Detail View to Basic or Advanced Data

This is a fairly simple enhancement which would allow users to limit the
display of data in the detail view.

In summary, a list of "basic" data would be maintained. A radio button or
combobox would be added to the detail view allowing the user to select
basic or advanced. In basic view, only those basic data would be displayed.
In advanced, all data would be displayed.

Basic data include: crop name, var name, maturity days, planting date,
harvest date and possibly some others.

Original issue reported on code.google.com by [email protected] on 15 Jan 2008 at 12:09

Field Info

The project needs to support multiple fields. This would entail creation of
a simple "field" schema and database table, plus related queries.

This would then have to be integrated into the rest of the software. At
present (mid Jan 2008), this would be simple since planting locations
aren't really used much anyway.

As an example of this integration, we would need to provide a new tab where
users can edit field information. Then we would have to link the "location"
of a planting to a predefined field. Calculations based on the length of
beds or rows for that planting would then be based upon the row/bed length
defined for that field.

Original issue reported on code.google.com by [email protected] on 15 Jan 2008 at 12:21

Complete Javadoc of Code

This is low priority, easy task suitable for new or novice developers
looking for an easy way to get involved in the project. Some methods have
javadoc already, most do not. We are trying to keep all new methods
documented, but this sometimes doesn't happen.

Original issue reported on code.google.com by [email protected] on 15 Jan 2008 at 12:17

Multiple Column Sorting

Currently, columns are only sorted individually.  We should be able to sort
on multiple columns.  These could be added to the mix by holding CONTROL
and clicking on a column header.  A naked click would reset things back to
single column sort.

Original issue reported on code.google.com by [email protected] on 16 Jan 2008 at 2:08

User or custom fields

Add 3-4 fields into which the user can enter their own custom information.
 Perhaps they could even customize how they are labeled in-program.

Original issue reported on code.google.com by [email protected] on 17 Jan 2008 at 2:45

Default Datasets

We need to provide the user with the option of importing a "default" data
set.  I see that we could provide them with a few options, all of which
would just be a list of crops, not varieties.  One would be just a stripped
down list of crops, perhaps with other nonspecific info.  Another would be
to import info from "Johnnys" or "Harris" or such.  John Jeavons, French
Intensive, perhaps?

Other sources?

Original issue reported on code.google.com by [email protected] on 19 Dec 2008 at 2:45

About/Credits dialog

The program should include a simple "about" and/or "credits" dialog.  This
could on the menubar by itself, or under the "File" menu, which shouldn't
really be named "File" anyway.

It should include:

* program name
* current version
* project URL
* project email address
* list of sponsors, w/ links
* list of contributors

Original issue reported on code.google.com by [email protected] on 26 Mar 2008 at 3:06

Cannont launch Java application on OSX 10.4.11

What steps will reproduce the problem?
1. Launch CropPlanning.app, then select output directory and click "Done"
to start program
2.
3.

What is the expected output? What do you see instead?
Window comes up that says: "Cannont launch Java application - Uncaught
exception in main method: java.lang.NullPointerException" and the only
option is to "Quit".

What version of the product are you using? On what operating system?
On a mac running OSX 10.4.11

Please provide any additional information below.
It is possible that my java environment is hosed in some way or another,
but I don't believe so.

_justin


Original issue reported on code.google.com by [email protected] on 14 Mar 2008 at 1:28

Improved Module Infrastructure

The current module system is rudimentary and error prone.  We need to
augment this system to support:

1. Version checking
2. Module dependencies (w/ versions)
3. Provides/requires capabilities

ie: Module TODOLists; requires DataModel, HSQLDB v1.3; provides export:PDF,
planting-lists

Original issue reported on code.google.com by [email protected] on 2 Feb 2008 at 4:11

Calculated figures should automatically recalculate

Calculated figures should automatically recalculate when the users changes
other entries -- BEFORE the user "saves" the changes.

General idea of fix:

1) add change listeners to all affected boxes
2) upon change, the changed value will be set in the var
"displayedPlanting" and that object will be used to reset the display
3) special pains must be taken to ensure that the "changed" status of that
property is maintained, however.  Currently, all "changed" properties are
reset when displaying a record because of the use of the .setInitialText()
methods.

Original issue reported on code.google.com by [email protected] on 1 Apr 2008 at 1:50

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.