Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Make an easy way to start gramps for novices #1297

Draft
wants to merge 9 commits into
base: master
Choose a base branch
from

Conversation

SNoiraud
Copy link
Member

@SNoiraud SNoiraud commented Sep 10, 2021

This is related to: Novice user UX proposed solution

@SNoiraud SNoiraud added this to the v5.2 milestone Sep 10, 2021
@emyoulation
Copy link
Contributor

Could add your 2021 credit to the Copyright headers?

@emyoulation
Copy link
Contributor

I just ran a test.

During my test, a lot of messages were sent to the console. Are any useful without the step-by-step?:

C:\ProgramData\Microsoft\Windows\Start Menu\Programs\GrampsAIO64 5.1.4>gramps~2.lnk
2021-09-10 07:54:39.295: WARNING: dummydb.py: line 405: database is closed
2021-09-10 07:55:24.703: WARNING: dummydb.py: line 604: database is closed
2021-09-10 07:56:27.710: WARNING: managedwindow.py: line 587: Tried to close a ManagedWindow more than once.
2021-09-10 07:56:39.338: WARNING: dummydb.py: line 405: database is closed
db changed:  <sqlite.SQLite object at 0x00000000008d4400>
C:\Program Files\GrampsAIO64-5.1.4\gramps\plugins\gramplet\persondetails.py:64: DeprecationWarning: Gtk.Widget.override_font is deprecated
  self.name.override_font(Pango.FontDescription('sans bold 12'))
C:\Program Files\GrampsAIO64-5.1.4\gramps\plugins\view\pedigreeview.py:266: DeprecationWarning: Gtk.StyleContext.get_font is deprecated
  font_desc = self.get_style_context().get_font(Gtk.StateFlags.NORMAL)
C:\Program Files\GrampsAIO64-5.1.4\gramps\plugins\view\pedigreeview.py:1458: DeprecationWarning: Gtk.Viewport.get_hadjustment is deprecated
  hadjustment = window.get_hadjustment()
C:\Program Files\GrampsAIO64-5.1.4\gramps\plugins\view\pedigreeview.py:1459: DeprecationWarning: Gtk.Viewport.get_vadjustment is deprecated
  vadjustment = window.get_vadjustment()
C:\Program Files\GrampsAIO64-5.1.4\gramps\gui\widgets\monitoredwidgets.py:189: DeprecationWarning: Gtk.Widget.override_color is deprecated
  self.obj.override_color(Gtk.StateType.NORMAL, rgba)
C:\Program Files\GrampsAIO64-5.1.4\lib\python36.zip\gi\overrides\GObject.py:553: Warning: ../../glib-2.54.3/gobject/gsignal.c:2641: instance '000000000714fdf0' has no handler with id '114587'
C:\Program Files\GrampsAIO64-5.1.4\lib\python36.zip\gi\overrides\GObject.py:553: Warning: ../../glib-2.54.3/gobject/gsignal.c:2641: instance '000000000714eaf0' has no handler with id '106164'
C:\Program Files\GrampsAIO64-5.1.4\lib\python36.zip\gi\overrides\GObject.py:553: Warning: ../../glib-2.54.3/gobject/gsignal.c:2641: instance '000000000ad83c90' has no handler with id '98085'
C:\Program Files\GrampsAIO64-5.1.4\lib\python36.zip\gi\overrides\GObject.py:553: Warning: ../../glib-2.54.3/gobject/gsignal.c:2641: instance '000000000ad830b0' has no handler with id '90579'
C:\Program Files\GrampsAIO64-5.1.4\lib\python36.zip\gi\overrides\GObject.py:553: Warning: ../../glib-2.54.3/gobject/gsignal.c:2641: instance '000000000b1adc60' has no handler with id '82761'
C:\Program Files\GrampsAIO64-5.1.4\lib\python36.zip\gi\overrides\GObject.py:553: Warning: ../../glib-2.54.3/gobject/gsignal.c:2641: instance '000000000b1ad7a0' has no handler with id '73909'
C:\Program Files\GrampsAIO64-5.1.4\lib\python36.zip\gi\overrides\GObject.py:553: Warning: ../../glib-2.54.3/gobject/gsignal.c:2641: instance '000000000714fdf0' has no handler with id '202998'
C:\Program Files\GrampsAIO64-5.1.4\lib\python36.zip\gi\overrides\GObject.py:553: Warning: ../../glib-2.54.3/gobject/gsignal.c:2641: instance '000000000b1ad7a0' has no handler with id '231674'
C:\Program Files\GrampsAIO64-5.1.4\lib\python36.zip\gi\overrides\GObject.py:553: Warning: ../../glib-2.54.3/gobject/gsignal.c:2641: instance '000000000b1ad7a0' has no handler with id '255224'
C:\Program Files\GrampsAIO64-5.1.4\lib\python36.zip\gi\overrides\GObject.py:553: Warning: ../../glib-2.54.3/gobject/gsignal.c:2641: instance '000000000b1adc60' has no handler with id '287329'
C:\Program Files\GrampsAIO64-5.1.4\gramps\gui\editors\editperson.py:1091: PyGTKDeprecationWarning: Using positional arguments with the GObject constructor has been deprecated. Please specify keyword(s) for "parent" or use a class specific constructor. See: https://wiki.gnome.org/PyGObject/InitializerDeprecations
  type=Gtk.MessageType.QUESTION,
C:\Program Files\GrampsAIO64-5.1.4\gramps\gui\editors\editperson.py:1091: PyGTKDeprecationWarning: The keyword(s) "type" have been deprecated in favor of "message_type" respectively. See: https://wiki.gnome.org/PyGObject/InitializerDeprecations
  type=Gtk.MessageType.QUESTION,
C:\Program Files\GrampsAIO64-5.1.4\gramps\gui\editors\editperson.py:1091: PyGTKDeprecationWarning: The "flags" argument for dialog construction is deprecated. Please use initializer keywords: modal=True and/or destroy_with_parent=True. See: https://wiki.gnome.org/PyGObject/InitializerDeprecations
  type=Gtk.MessageType.QUESTION,
C:\Program Files\GrampsAIO64-5.1.4\lib\python36.zip\gi\overrides\Gtk.py:541: PyGTKDeprecationWarning: The keyword(s) "parent" have been deprecated in favor of "transient_for" respectively. See: https://wiki.gnome.org/PyGObject/InitializerDeprecations
C:\Program Files\GrampsAIO64-5.1.4\lib\python36.zip\gi\overrides\GObject.py:553: Warning: ../../glib-2.54.3/gobject/gsignal.c:2641: instance '000000000b1ad7a0' has no handler with id '278286'
C:\Program Files\GrampsAIO64-5.1.4\lib\python36.zip\gi\overrides\GObject.py:553: Warning: ../../glib-2.54.3/gobject/gsignal.c:2641: instance '000000000714fdf0' has no handler with id '336650'
C:\Program Files\GrampsAIO64-5.1.4\lib\python36.zip\gi\overrides\GObject.py:553: Warning: ../../glib-2.54.3/gobject/gsignal.c:2641: instance '000000000f786d80' has no handler with id '409926'
C:\Program Files\GrampsAIO64-5.1.4\lib\python36.zip\gi\overrides\GObject.py:553: Warning: ../../glib-2.54.3/gobject/gsignal.c:2641: instance '000000000f785ce0' has no handler with id '392694'
C:\Program Files\GrampsAIO64-5.1.4\lib\python36.zip\gi\overrides\GObject.py:553: Warning: ../../glib-2.54.3/gobject/gsignal.c:2641: instance '000000000ad83c90' has no handler with id '384873'
C:\Program Files\GrampsAIO64-5.1.4\lib\python36.zip\gi\overrides\GObject.py:553: Warning: ../../glib-2.54.3/gobject/gsignal.c:2641: instance '000000000714fdf0' has no handler with id '367467'
C:\Program Files\GrampsAIO64-5.1.4\lib\python36.zip\gi\overrides\GObject.py:553: Warning: ../../glib-2.54.3/gobject/gsignal.c:2641: instance '000000000ad830b0' has no handler with id '327882'
C:\Program Files\GrampsAIO64-5.1.4\lib\python36.zip\gi\overrides\GObject.py:553: Warning: ../../glib-2.54.3/gobject/gsignal.c:2641: instance '000000000d280f80' has no handler with id '534833'
C:\Program Files\GrampsAIO64-5.1.4\lib\python36.zip\gi\overrides\GObject.py:553: Warning: ../../glib-2.54.3/gobject/gsignal.c:2641: instance '000000000d27fa20' has no handler with id '517491'
C:\Program Files\GrampsAIO64-5.1.4\lib\python36.zip\gi\overrides\GObject.py:553: Warning: ../../glib-2.54.3/gobject/gsignal.c:2641: instance '000000000d27f7c0' has no handler with id '509601'
C:\Program Files\GrampsAIO64-5.1.4\lib\python36.zip\gi\overrides\GObject.py:553: Warning: ../../glib-2.54.3/gobject/gsignal.c:2641: instance '000000000714fdf0' has no handler with id '501350'
C:\Program Files\GrampsAIO64-5.1.4\lib\python36.zip\gi\overrides\GObject.py:553: Warning: ../../glib-2.54.3/gobject/gsignal.c:2641: instance '000000000ad83c90' has no handler with id '493516'
C:\Program Files\GrampsAIO64-5.1.4\lib\python36.zip\gi\overrides\GObject.py:553: Warning: ../../glib-2.54.3/gobject/gsignal.c:2641: instance '000000000ad83c90' has no handler with id '638937'
C:\Program Files\GrampsAIO64-5.1.4\lib\python36.zip\gi\overrides\GObject.py:553: Warning: ../../glib-2.54.3/gobject/gsignal.c:2641: instance '000000000b1b0000' has no handler with id '621880'
C:\Program Files\GrampsAIO64-5.1.4\lib\python36.zip\gi\overrides\GObject.py:553: Warning: ../../glib-2.54.3/gobject/gsignal.c:2641: instance '000000000714fdf0' has no handler with id '613453'
C:\Program Files\GrampsAIO64-5.1.4\lib\python36.zip\gi\overrides\GObject.py:553: Warning: ../../glib-2.54.3/gobject/gsignal.c:2641: instance '000000000ad830b0' has no handler with id '484686'

@emyoulation
Copy link
Contributor

Tested again today and tried to import the sample GEDCOM file included with Gramps and got a permissions error:

1059849: ERROR: grampsapp.py: line 174: Unhandled exception
Traceback (most recent call last):
File "C:\Program Files\GrampsAIO64-5.1.4\gramps\gui\dbman.py", line 1382, in start
os.unlink(file_to_load)
PermissionError: [WinError 5] Access is denied: 'C:\Program Files\GrampsAIO64-5.1.4\share\doc\gramps\example\gedcom\sample.ged'

@jralls
Copy link
Member

jralls commented Jan 4, 2022

Try copying it to your home directory and loading it from there.

@emyoulation
Copy link
Contributor

emyoulation commented Jan 4, 2022

I can definitely load it from elsewhere. But this is a new symptom. The data imports but reports a failure. And it shows only 1 of 2 dialogs expected. It shows the "no errors" but not the import statistics.

Also I can successfully using the Import instead. The exact same sample.ged file in the same location imports with no error. (Although the Statistics window appears without any numbers.)

@jralls
Copy link
Member

jralls commented Jan 4, 2022

Because it's trying to delete the file and it's in a protected directory. @SNoiraud don't you mean to close file_to_load, not delete it?

@SNoiraud
Copy link
Member Author

SNoiraud commented Jan 5, 2022

Because it's trying to delete the file and it's in a protected directory. @SNoiraud don't you mean to close file_to_load, not delete it?

I only make an os.unlink.
Do you speak about this statement ?If this is this statement, I think it's not at the good place.
I wanted to delete the tmp file.

@QuLogic
Copy link
Contributor

QuLogic commented Jan 5, 2022

You are deleting it in all cases; you only want to do that if you created a temp file, not if the user entered a GEDCOM file to load. Also, why is that a manual entry instead of a file chooser?

@emyoulation
Copy link
Contributor

emyoulation commented Jan 5, 2022

It actually has both.

There is a file selector if you click the "Load a gedcom/gramps file?" button to populate the field. But you can paste in a filepath to bypass the GTK file selector.

It just does not do this conventionally, following the "label: field iconizedButton" pattern of the Preferences dialog:

EditPreferences-FamilyTree-tab-example-51.png

The GUI will need a bit refinement for language & presentation. (It would be nice if we could find Text Strings that already exist in the Weblate dictionary. So that the new feature world-wide accessibility won't be delayed by 48 translators noticing the new strings.)

@jralls
Copy link
Member

jralls commented Jan 6, 2022

@emyoulation You can search the short msgids by grepping gnucash.pot. That's the input to weblate. Longer msgids are more difficult to search because msgmerge will break them up into ~70 character chunks on separate lines, but you can look for pieces of them.

gramps/gui/dbman.py Outdated Show resolved Hide resolved
@QuLogic
Copy link
Contributor

QuLogic commented Jan 6, 2022

It actually has both.

Ah, that is good to see. There are a lot of extra labels added that seem to be empty and unused, which made it difficult to follow in code.

@SNoiraud
Copy link
Member Author

SNoiraud commented Jan 6, 2022

There are a lot of extra labels added that seem to be empty and unused, which made it difficult to follow in code.

Can you explain ?
All messages are necessary depending on your environment.

  • Really the first time.
  • You have already create an empty database

@QuLogic
Copy link
Contributor

QuLogic commented Feb 23, 2022

For example, here is an empty label that is added to the window and then the variable is thrown away.

@SNoiraud
Copy link
Member Author

is an empty label that is added to the window

This is to have a more readable window.

@QuLogic
Copy link
Contributor

QuLogic commented Feb 28, 2022

If you want to do that, you should set a margin on the widgets, or the spacing on the vbox overall.

@Nick-Hall Nick-Hall added the string Requires string changes label Jul 14, 2023
@Nick-Hall
Copy link
Member

Rebased.

@Nick-Hall
Copy link
Member

This still looks like a work in progress.
Novice Selection
The dialog still needs margins.

I'm not sure why the database path is mentioned to a new user. The default should be fine. Changing the path could create confusion.

The dialog doesn't describe what will be added to the database, or give an option to create an empty database.

After the database is created the user is given no information as to what to do next.

@Nick-Hall Nick-Hall marked this pull request as draft July 24, 2023 16:03
@Nick-Hall Nick-Hall removed this from the v5.2 milestone Jul 27, 2023
@Nick-Hall Nick-Hall removed the string Requires string changes label Aug 1, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
5 participants