Coder Social home page Coder Social logo

ghini / ghini.desktop Goto Github PK

View Code? Open in Web Editor NEW
24.0 7.0 14.0 51.54 MB

plant collections manager (desktop version)

Home Page: http://ghini.github.io/

License: GNU General Public License v2.0

Shell 0.48% Python 54.40% XSLT 0.80% Makefile 0.30% Batchfile 0.17% NSIS 1.53% Mako 42.28% VBScript 0.04%
botany database biology collections

ghini.desktop's Introduction

ghini.server

Ghini is a suite of software programs, helping the management and presentation of botanical data. It aims at botanical gardens, plant collectors, nurseries, and their visitors.

ghini-family.png

This is the central ghini.server, serving data to all other Ghini family members. ghini.server handles data from one garden, or for several.

  • in combination with the included ghini.web client, it lets logged in garden conservators plan their work, produce logs, and review their garden history.
  • in combination with the ghini.web web client, it provides non logged in visitors a read-only access to portions of the database.
  • in combination with ghini.pocket, it lets gardeners streamline their daily activities, and make it visible to the garden conservator.
  • in combination with ghini.tour, it lets visitors find their way in the garden.
  • ghini.server can cooperate with other instances of itself, contributing selected data to a ghini.server instance running as a garden aggregator. A ghini.web client accessing a garden aggregator server will now show data from several gardens at the same time.

ghini.desktop's People

Contributors

beringin2017 avatar brettatoms avatar christophe80 avatar comradekingu avatar denadenisse avatar faflok avatar floss-dev avatar haaninjo avatar helixcn avatar iosifidis avatar jhonfitzgerald avatar mfrasca avatar nijel avatar programmerstarter avatar roduth avatar seraliam avatar szlajozs avatar weblate avatar xpih avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

ghini.desktop's Issues

User defined "Reason" for "Current Change"

from Bauble/bauble.classic#233

While I'm at it, the other issue I have had with the "Reason" for "Current change" field is that many of the options are things that may have made sense to 1 specific garden (UBC?) but not to me. (e.g. "Given to back 40 (FOG)" and "Transferred to Totem Field") this is another field that should be user defined similar to "type of material" #163

first level selection of tagged objects - tag InfoBox

I'm not sure I interpret @tmyersdn correctly, but this is what I would suggest after reading him (Bauble/bauble.classic#224).

please correct me, according to you as a new user, Tags could be more publicized. currently, they are quite hidden in a small menu which is initially empty. once you do start using them, there is no overview of what is tagged by each tag and to have an idea of it, you have to get the tag in the SearchResults.

we could have something similar to the home page, where we could have indeed an overview of all tags, with a numerical summary for each of them. this could go into a page looking like the :history, as well as into a grid of links like :home.

the same information row as in the status bar would be associated to each tag, as if the query had been executed.

something which I had suggested elsewhere, interpreting again possibly Tom, or Ross, I can't remember, it was about having at all times one tag that would be called the active tagging tag, something that would allow the user to press a key combination and whatever would be the currently selected object, either a selection in the SearchResult, or the active object in the Object Editor, would be associated to the active tagging tag.

if this does not answer a user's need, please tell me!

Option to store the LSID of a taxon in the database

From @RoDuth on December 23, 2015 9:22

Could potentially be used for resolving names... similar to sighting a source for the name.

LSID examples:
urn:lsid:biodiversity.org.au:apni.taxon:754049 points to Brachychiton bidwillii as defined by APNI (at biodiversity.org.au)
urn:lsid:ipni.org:names:530017-1 points to Aloe vera as defined by IPNI (at ipni.org).

@tmyersdn see issue #221 for the discussion, this came from a suggestion you originally made I think. You may have more to add?

Copied from original issue: Bauble/bauble.classic#234

copy about to be discontinued

in our documentation I suggest the use of copy for sharing pictures.
the copy service is going to stop by July this year.
we need to correct the docs, either suggesting an alternative choice, or not mentioning this at all.
for institutions with an internal network, we can just suggest using a network 'share'.

flag for receipt of seed list

from expand contact model #25

this flag would let the user mark the contacts that will receive particular emails - for example, if I want to manage a list of gardens to send an Index Seminum to every year.

Mario, I now think this issue would be better handled better by using "tags". As tags give you the flexibility to identify any number of "email groups". But it still would be useful to have the contact store an email address as a stand alone field.
see :tags page to show overview of tags #27

genus editor window: hybrid flag isn't working

OK, so I seem to have little time today and I'm not sure I will get much more time for a while. And you did say you needed feed back @mfrasca 😆

  • In the genus editor window the hybrid flag isn't working. The need for the nothotaxon flag here is great, not sure any of the other flags are of any use as they would be achieved at species editor level - with the new formula function, etc. It must display the multiplication sign in the correct way of course and it would to have the option to list the genera that make the nothogenus (often multiple genera, with no particular formula, just a list)

These are all, no doubt, bugs/issues you are aware of with 1.1 still in test mode but I thought I would record anyway. Feel free to close the issue...

  • really obvious one... need a way to import data from v1.0 into the new database structure, (will have to wait for all the structure changes to be finalised first I guess) #65
  • In the plant editor window changing the planting date does not make the OK button available, also I think planting date should be displayed in the right hand side info pane of the main search window. #64
  • Accession Identification Qualifier doesn't display correctly in the info pane (i.e. if I enter Archontophoenix ​alexandrae and put ? as the Identification Qualifier and the Qualified Rank as alexandrae it displays as Archontophoenix? ​alexandrae not Archontophoenix ?​alexandrae like I would normally expect to see) #63

I think all the other things I noticed are already recorded in other issues.

window size when tagging large selection

search for something that will result in a large SearchResult list.
select at least 60 items
hit Ctrl-T to open the Tags window.
you will see that most of the space in the window is occupied by the string representation of the selected items.
if your selection is 100 or more items, the tags window will probably not fit in the screen.

email for contact / source

from expand contact model #25

"the same question applies to email address, why would you need a separate field when you have a multiline description field? just asking, and trying to avoid work that is not necessary."

Answer: if you later want the function to create or hyperlink to create an email, then it would be useful to have email stored in a separate field.
Also, if you want to export a list of contacts and email addresses as a separate column, then it would also help to have email as a separate field.
Also again, email addresses change pretty often. I think it is a mistake to embed them in free text.

Q: Is it possible to have a list for an accessions "Intended Locations"?

as in Bauble/bauble.classic#224

2 intended locations isn't always enough so I may add notes etc. @mfrasca is there a way that this could be just a list of intended locations and still be able to search it?

Its not uncommon for 5 or more plants from 1 accession and with only 2 intended location options it hampers the way we would like to use it to develop planting lists.

(@mfrasca am I right in assuming I should be putting all new issues here?)

intended location as a link to add plant at location

@RoDuth suggests in #19

(can even see a day where there is a + button, with tool tip "add to the collection", on the right hand side of the list and you highlight a line from the list click + and it deletes the line and opens the plant editor with the 3 fields of data filed in from the list. You just have to fill in any further details and click OK. Wouldn't that be an amazing, quick work flow!)

that is, you are viewing the list of intended locations, each of them has a intended_plant_quantity and an intended_planting_date.
you activate the add to the collection button and you land into the plant editor, with the fields 3 fields filled in from the intended location information.

spreadsheet-like editing selected plant properties

since recently we have a way to associate series of values to objects that can hold notes.
in particular, this can be used (is meant to be used) to follow/monitor the development of plants in a survey, that is repeated in time.
but inserting data is cumbersome, it would be nice to be able to select the plants, and to have a spreadsheet-like interface where you can edit the values at the different time steps.

instructions for offline installation

during my travelling, I've met several people asking for an installation but not having any kind of internet connection. so not only did I need to take with me all of the dependencies, but after creating the virtualenv, all the pip install and ./setup.py procedure would not be available because it relies on internet access.

a solution can be based on this Q&A on StackOverflow.

tagged (T/F) does not include 'inconsistent' (partially)

in the Tags window you can tag/untag objects.
focusing on a single tag object A,
if your selection includes rows that are tagged as well as rows that are not tagged as A, the check box to the left of A will be unchecked, as if none of the objects was tagged.
GTK offers an 'inconsistent' status:

The set_inconsistent() method sets the "inconsistent" property to the value of setting. If setting is True the togglebutton is displayed in the inconsistent state - an "in between" state. This method is useful if the user has selected a range of elements (such as some text or spreadsheet cells) that are affected by a toggle button, and the current values in that range are inconsistent and you want to indicate that by setting the toggle button to an "in between" display. Normally you would turn off the inconsistent state again if the user clicks the toggle button.

open contact_details from history

you can double click most objects on a history page, but not all of them.
for contact_details, it makes sense and it is not yet implemented.

agg. to follow author

there's a slight confusion, with the representation of an object computed twice depending on whether it goes in the infobox or in the search result. in particular for the agg. addition for aggregate species, the infobox shows it after the author, while the search result has it before the author.
thanks @tmyersdn for the research:

after the author, based on three examples:

http://link.springer.com/article/10.1023%2FA%3A1008617631367
http://archive.bsbi.org.uk/Wats12p1.pdf
http://onlinelibrary.wiley.com/doi/10.1111/j.1095-8339.1993.tb00343.x/abstract

helping identification by specifying associations

From @mfrasca on May 10, 2015 20:2

From @mfrasca on April 30, 2015 17:1

growing near (very useful information according to Lucho)
'near', 'on top of', ...
issue came out while examining mfrasca/bauble.classic#85 , the term 'near' was mentioned in the same group of options, but it's different information than mfrasca/bauble.classic#85 .
should allow for multiple such indications.

Copied from original issue: mfrasca/bauble.classic#88

Copied from original issue: Bauble/bauble.classic#17

search_view_markup_pair invoked too often

the search_view_markup_pair function is part of drawing the row in a SearchView result.
this function is invoked several times just in reaction to mouse events not related to click.
you hover with the mouse over a row, pass from one row to the other, and the function is invoked at least 4 times, first twice for the row being left, then twice for the row being entered.
this was a non-issue as long as the function was a simple quick non-computing thing.
now with the rows wanting to inform the user about object corresponding to the row,, the search_view_markup_pair has become a fairly complex function, in particular the candidate one for Tag objects.

Allow user define valid "Type of Material" values.

From @sehrgut on October 30, 2015 2:21

In all four major classes of plants with which I work (bromeliads, orchids, aroids, and succulents), the distinction between an offset and a cutting is important. For all bromeliads and most orchids, cuttings are impossible. Taking offsets is also distinct from clump division, since the offset when removed is often completely unrooted, or growing on a distal portion of the plant such as an inflorescence (or leaf, in some Pleurothallids).

Tuberous aroids as well produce offset tubers, while sometimes being propagable by leaf cuttings. This distinction is even more important due to the fact that not all offsets sprout the first year, while still being alive; as opposed to seed-grown tubers of the same size, which will almost certainly sprout in the next possible growing season.

Many succulents are highly-propagable by both cuttings and offsets, but the techniques are different, and the ramifications for hardiness and rat of growth are important.

I believe referring to these as unrooted cuttings, root suckers, or divisions is inaccurate, and would be better represented by "offset", and possibly "rooted offset".

Copied from original issue: Bauble/bauble.classic#163

fix ABCD export

I've reviewed most field names and by doing so obviously things broke.
now it's just 9 failing tests which sounds not so scary as when I run the test suite the first time, with less than 10 passing tests.
the failing/erroring tests fall in two categories. one is the ABCD export.
and @RoDuth , do you think you could contribute a real life export against which to test Ghini/Bauble?

side comment, the main difference now is that all epithets are called epithet, instead of family as string field of family but as object link of genus, or genus as string field of genus but as object link of species. calling an epithet epithet was already so in the JSON import/export and will probably make the step shorter, if we ever decide to tackle mfrasca/bauble.classic#9.

tags given by query

from overview of tags #27

Is it possible to create and run a query, and apply a tag to all the results of the query?

Once again, sorry if this is already possible!

missing ghini.lnk

I had removed the bauble.lnk file because it had hard coded paths in it and I forgot to open an issue related to the automatic generation of the corresponding Ghini file. now a new potential user mentions:

I did the installation of ghini.desktop in my linux box and it works well. However I was not able to install it on Windows - giving an an error message linked to the missing ghini.lnk file in the script directory
error: file 'C:\Users\USERNAME\Local\github\Ghini\ghini.desktop\scripts\ghini.lnk' does not exist
I would like to recommend to use the software in the K. University botanical garden, but would be much convenient to have it running on Windows.

allow user unset intended location

@RoDuth #15

If we decide not to plant something we either just delete the accession or remove one of the intended locations (this isn't possible right now, seems you can enter them but once they are there they are locked in and you can change them but not remove them).

(if in 1.1 we organize the intended locations as a list, then you can add or remove elements.)

future direction

@RoDuth, Ross I'm guessing your not reading your email, but please do, it would help to have your comments.
@mfrasca, many thanks for your frank questions.

allow hybrid information

From @mfrasca on November 16, 2015 1:20

From @mfrasca on April 6, 2015 19:25

a hybrid should be described as a descendant of two taxa, not just flagged as such.

just to fix ideas, an example: you might want to indicate an accession to a taxon which is a hybrid between a masdevalia rosea and a dracula diavola.

hybrids do not need be sterile, so a hybrid could also generate a new hybrid if mixed with an other taxon.

not all taxa can be hybridized with each other, generally the parent taxa of a hybrid will belong to the same familia, subfamilia, tribus, or subtribus. maybe a warning could be issued if the two parents mismatch at too high a rank.

marking as 'prio:high' because this is really urgent if you want to represent a collection like the one at Quito, particularly dedicated to Orchidaceae.

Copied from original issue: mfrasca/bauble.classic#46

Copied from original issue: Bauble/bauble.classic#179

undo changes undoes far too much

since a few commits, there is one connection open in the main search view.
this does not do transactions explicitly
so whenever you do one rollback you actually rollback the whole session since you started the program.

tooltips or balloon help texts to help follow standards

From @mfrasca on December 12, 2015 14:40

the balloon help texts for any standard fields could stress the importance of this and provide guidance for syntax etc. E.g for Genus the balloon help could say:

The full generic name of the plant. Syntax: a single word with first letter capitalised (A-Z) and the rest of the word in lowercase letters (a-z), 1 or 2 hyphens are permitted. No other characters accepted. (refer ITF2 p19 for full details)

for this single specific case, the tooltip now only states:

The genus name

reported by @RoDuth as a comment to #163

Copied from original issue: Bauble/bauble.classic#217

No "ID Format" in v1.1 accession editor?

Just having a quick look at v 1.1 (nice! 😄 ) and noticed this. Not a big one, just I really like the accession format (e.g.{Y-1}.####) options you have in v1.0.

(And Wild Status didn't seem to work either but now I know I'm getting picky for a test release!)

tag deletion

from overview of tags #27

Do you think it would be useful to be able to close and remove tags in bulk. Ie when a tag is no longer useful to delete it from all instances? To save you the work of going through record by record and deleting it.

Sorry if this is already possible and I have not noticed?

fix hybrid_marker

Bauble had an hybrid boolean flag. Ghini has a length-1 Unicode hybrid_marker, which has space for the four ITF2 values ×, +, H and <empty>.
this hybrid_marker is a member of all taxa, from Family to Species and in perspective it should also be included in the infraspecific parts but I do not want to complicate things when the simple solution would be mfrasca/bauble.classic#9.
as of now, all that I had done to allow Bauble-1.0 to handle hybrid species has to be redone now we can keep the information in its own field and do not need infer it from the epithet.
this is going to be interesting, again. and I will need again to bother @RoDuth, @felipead87 and @tmyersdn or some of your taxonomists.

provenance list

From @mfrasca on June 2, 2015 14:3

From @mfrasca on April 29, 2015 21:0

Felipe and I were reviewing the program in reverse order as I'm now entering issues.
In the accession editor, we first met this 'provenance' field in the 'general' tab, and it was not so clear to Felipe what this thing really was. Next, we entered the 'sources' tab and we met a much more detailed 'Source' specification.
The 'provenance' seems mostly concerned with wild plants, and the next field add information to it, but Felipe's first reaction was "can I add cases to this"?
and two options he would add: in vitro; propagule (not from wild).

Copied from original issue: mfrasca/bauble.classic#83

Copied from original issue: Bauble/bauble.classic#60

window-less tagging - active tag

from overview of tags #27

could you just call this the "active tag"?

You could use this as a buffer selection that allows you to rapidly tag a lot of items, and then you could name/save or delete the selection once you are happy with it? I guess it could be automatically deleted at the end of each session or if the user resets the selection?

missing genera in ars-grin import

when I imported the data available from ars-grin, I did not check for regression.
I have removed several (over 3000) genera, some of which quite common (Allium).
fortunately I did not change the numbering (id) in the family table so it will be easy to recover them.

saving stored queries lasts long

when you save the stored queries, the window will take up to a second to close.
have a look at the history and you will realize why that is.
every object is first deleted, then overwritten, even if nothing changed.

"Date planted" in plant editor

From @RoDuth on December 23, 2015 9:6

Currently in the Plant Editor there is no way to store the date of planting.

In the Accession Editor there is Date Accessioned and Date Received but this does not necessarily reflect the day a plant was planted in the ground. With some accessions that can happily stay in their pots for a long time (e.g. Lomandra longifolia) we may receive a large quantity (say 300) from a supplier well ahead of the actual planting days. It would be accessioned at this point but no plants added. Then we may plant them in several locations over a period of potentially months. This, being one species from one supplier would be one accession with several plants attached to it for each of the different locations, all planted on different days.

This has concerned me from the start with Bauble, something I have had to work around with notes etc... I'm raising it now as I have been reminded of it again in issue #36.

Copied from original issue: Bauble/bauble.classic#233

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.