Helps you to remember things and tasks, just like the Forget Me
Not flower.

Though Minido is still very young, it already give a key competitive
advantage to major industry players like Texas Instruments... Like TI,
leverage this new paradigm to proactively re-engineer your core
processes and drive cross functional empowerment!

Screenshots

These are just examples. The names and types of columns are up to the
user!

Minido main window

Minido add / edit window

Another main window example

Features

Minido is database free: you don't have to configure and start a
database program first to manage your data. Thanks to this, you can
start working with Minido very quickly. No special skills are required.

Minido is multi user: several users can edit the same data, based
on standard Unix file permissions.

All the users automatically see the changes made by other users.

Column names and types are described in a XML file format. You
can easily create new ones for your own needs.

A few predefined types are available to generate default values
for a new row.

Each row is stored in a separate XML file. You can directly
edit/modify/remove row files by hand or do that through other programs.

Downloads

The latest releases can be found in our releases directory.
See our ChangeLog and NEWS files for details about releases.

Why I wrote this program

I was looking for a simple program for keeping track of support
requests at my work. Though several programs were available, most of
them were based on a database and/or web server. What I needed was much
simpler, so I decided to write my own tool.

As lots of people can have the same need, and as I believe in the
usefulness of Free Software, I decided to write my program at home so
that I could own it and release it under the GNU General Public License.

I wanted to learn interface programming with gtk+-2.2 and
glib-2.2, and also to get back to C programming after years of
abstinence!

Installation instructions

See the INSTALL
file in the sources for instructions on building and installing the tool
from its sources.

How to use Minido

Set the MINIDO_PROFILE
environment variable to the path of the profile file describing the data you
are going to handle. Example:>
export MINIDO_PROFILE=/usr/local/share/minido/support_team.xml
(bash)>
setenv MINIDO_PROFILE /usr/local/share/minido/support_team.xml
(tcsh)

Create an empty directory in which you will store the data. If
several users are going to access these data, make the directory
writable to these users.

Set the MINIDO_DB variable to the path of this directory. Example:>
export MINIDO_DB=/home/bart/minido_db/ (bash)>
setenv MINIDO_DB /home/bart/minido_db/ (tcsh)

You can now run the tool (note that there are no command line
options yet!):>
minido &

How to write your own profile files

These files are in XML format and are parsed by standard XML parsing
libraries. Though the tags are not documented yet, they are self
explanatory and you can take the below example as starting point:

Empty string. If a list of
values was given, the last value with the type=default
attribute.

current_time

The current localized time, in
the format specified by the format
attribute. See the manual of the strftime
function for the list of available switches.

current_date

The current localized date, in
the format specified by the format
attribute. See the manual of the strftime
function for the list of available switches.

user_real_name

The full name of the current
user.

user_first_name

The first name of the current
user. Caution: this just returns the first word of the current user real
name.

If you agree to share them, I'd be glad if you send me the profiles
files that you create, in any language and character set. I would like
to ship more examples in the minido releases. I could use them too as a
test database. Thank you in advance!

Helping

Sending your own profiles files if you think they can be useful
to other people.

Known issues

XML parser issues in row files with user data containing
characters or words that mean something in XML syntax, such as double
quotes...

Don't copy any file , in particular your MINIDO_PROFILE
file into the MINIDO_DB
directory, or you will face an ugly XML parser crash.

Pending work

Translate the interface to other languages. Translators are
welcome!

Create a nice splash screen and icon.

Implement simple file locks to prevent 2 users from editing the
same row.

Implement a --version
command line option.

Implement a check box type... very useful in such a tool.

Replace the MINIDO_DB
and MINIDO_PROFILE
environment variables by a graphical dialog to chose these values,
possibly remembered from previous sessions in a .minidorc
file.

Annex 1: strftime string format

Ordinary characters placed in the
format string are copied to s withoutconversion.
Conversion specifiers are introduced by a ‘%’ character,and are replaced in s as
follows:

%a
The abbreviated weekday name according to the current locale.

%A
The full weekday name according to the current locale.

%b
The abbreviated month name according to the current locale.

%B
The full month name according to the current locale.

%c
The preferred date and time
representation for the current
locale.

%C
The century number (year/100) as a 2‐digit integer. (SU)

%d
The day of the month as a decimal number (range 01 to 31).

%D
Equivalent to %m/%d/%y. (Yecch ‐ for Americans only.
Americans
should note that in other countries %d/%m/%y is rather
common.
This means that in international context this format is ambigu‐
ous and should not be used.) (SU)

%e
Like %d, the day of the month as a decimal number, but a leading
zero is replaced by a space. (SU)

%E
Modifier: use alternative format, see below. (SU)

%F
Equivalent to %Y‐%m‐%d (the ISO 8601 date format). (C99)

%G
The ISO 8601 year with century as a decimal number. The 4‐digit
year corresponding to the ISO week number (see
%V). This has
the same format and value as %y, except that if the
ISO week
number belongs to the previous or next year, that year is
used
instead. (TZ)

%g
Like %G, but without century, i.e., with a 2‐digit year (00‐99).
(TZ)

%h
Equivalent to %b. (SU)

%H
The hour as a decimal number using a 24‐hour clock (range 00 to
23).

%I
The hour as a decimal number using a 12‐hour clock (range 01 to
12).

%j
The day of the year as a decimal number (range 001 to 366).

%k
The hour (24‐hour clock) as a decimal number (range 0
to 23);
single digits are preceded by a blank. (See also %H.) (TZ)

%l
The hour (12‐hour clock) as a decimal number (range 1
to 12);
single digits are preceded by a blank. (See also %I.) (TZ)

%m
The month as a decimal number (range 01 to 12).

%M
The minute as a decimal number (range 00 to 59).

%n
A newline character. (SU)

%O
Modifier: use alternative format, see below. (SU)

%p
Either ‘AM’ or ‘PM’ according to the given time value,
or the
corresponding strings for the current locale. Noon is
treated
as ‘pm’ and midnight as ‘am’.

%P
Like %p but in lowercase: ‘am’ or ‘pm’ or a corresponding string
for the current locale. (GNU)

%r
The time in a.m. or p.m. notation. In the POSIX locale this
is
equivalent to ‘%I:%M:%S %p’. (SU)

%R
The time in 24‐hour notation (%H:%M). (SU) For a version includ‐
ing the seconds, see %T below.

%s
The number of seconds since the Epoch, i.e., since
1970‐01‐01
00:00:00 UTC. (TZ)

%S
The second as a decimal number (range 00 to 61).

%t
A tab character. (SU)

%T
The time in 24‐hour notation (%H:%M:%S). (SU)

%u
The day of the week as a decimal, range 1 to 7, Monday being 1.
See also %w. (SU)

%U
The week number of the current year as a decimal number,
range
00 to 53, starting with the first Sunday as the
first day of
week 01. See also %V and %W.

%V
The ISO 8601:1988 week number of the current year as a
decimal
number, range 01 to 53, where week 1 is the first week that has
at least 4 days in the current year, and with
Monday as the
first day of the week. See also %U and %W. (SU)

%w
The day of the week as a decimal, range 0 to 6, Sunday being 0.
See also %u.

%W
The week number of the current year as a decimal number,
range
00 to 53, starting with the first Monday as the
first day of
week 01.

%x
The preferred date representation for the current locale without
the time.

%X
The preferred time representation for the current locale without
the date.

Some conversion
specifiers can be modified by preceding them by the Eor O modifier to indicate
that an alternative format should be used.If the alternative
format or specification does not exist for the cur‐rent locale, the behaviour
will be as if the unmodified conversionspecification
were used. (SU) The Single Unix Specification mentions%Ec, %EC, %Ex, %EX, %Ry,
%EY, %Od, %Oe, %OH, %OI, %Om, %OM, %OS, %Ou,alternative numeric symbols (say,
roman numerals), and that of the Emodifier is to use a
locale‐dependent alternative representation.Ordinary
characters placed in the format string are copied to s withoutconversion.
Conversion specifiers are introduced by a ‘%’ character,and are replaced in s as
follows:

%a
The abbreviated weekday name according to the current locale.

%A
The full weekday name according to the current locale.

%b
The abbreviated month name according to the current locale.

%B
The full month name according to the current locale.

%c
The preferred date and time
representation for the current
locale.

%C
The century number (year/100) as a 2‐digit integer. (SU)

%d
The day of the month as a decimal number (range 01 to 31).

%D
Equivalent to %m/%d/%y. (Yecch ‐ for Americans only.
Americans
should note that in other countries %d/%m/%y is rather
common.
This means that in international context this format is ambigu‐
ous and should not be used.) (SU)

%e
Like %d, the day of the month as a decimal number, but a leading
zero is replaced by a space. (SU)

%E
Modifier: use alternative format, see below. (SU)

%F
Equivalent to %Y‐%m‐%d (the ISO 8601 date format). (C99)

%G
The ISO 8601 year with century as a decimal number. The 4‐digit
year corresponding to the ISO week number (see
%V). This has
the same format and value as %y, except that if the
ISO week
number belongs to the previous or next year, that year is
used
instead. (TZ)

%g
Like %G, but without century, i.e., with a 2‐digit year (00‐99).
(TZ)

%h
Equivalent to %b. (SU)

%H
The hour as a decimal number using a 24‐hour clock (range 00 to
23).

%I
The hour as a decimal number using a 12‐hour clock (range 01 to
12).

%j
The day of the year as a decimal number (range 001 to 366).

%k
The hour (24‐hour clock) as a decimal number (range 0
to 23);
single digits are preceded by a blank. (See also %H.) (TZ)

%l
The hour (12‐hour clock) as a decimal number (range 1
to 12);
single digits are preceded by a blank. (See also %I.) (TZ)

%m
The month as a decimal number (range 01 to 12).

%M
The minute as a decimal number (range 00 to 59).

%n
A newline character. (SU)

%O
Modifier: use alternative format, see below. (SU)

%p
Either ‘AM’ or ‘PM’ according to the given time value,
or the
corresponding strings for the current locale. Noon is
treated
as ‘pm’ and midnight as ‘am’.

%P
Like %p but in lowercase: ‘am’ or ‘pm’ or a corresponding string
for the current locale. (GNU)

%r
The time in a.m. or p.m. notation. In the POSIX locale this
is
equivalent to ‘%I:%M:%S %p’. (SU)

%R
The time in 24‐hour notation (%H:%M). (SU) For a version includ‐
ing the seconds, see %T below.

%s
The number of seconds since the Epoch, i.e., since
1970‐01‐01
00:00:00 UTC. (TZ)

%S
The second as a decimal number (range 00 to 61).

%t
A tab character. (SU)

%T
The time in 24‐hour notation (%H:%M:%S). (SU)

%u
The day of the week as a decimal, range 1 to 7, Monday being 1.
See also %w. (SU)

%U
The week number of the current year as a decimal number,
range
00 to 53, starting with the first Sunday as the
first day of
week 01. See also %V and %W.

%V
The ISO 8601:1988 week number of the current year as a
decimal
number, range 01 to 53, where week 1 is the first week that has
at least 4 days in the current year, and with
Monday as the
first day of the week. See also %U and %W. (SU)

%w
The day of the week as a decimal, range 0 to 6, Sunday being 0.
See also %u.

%W
The week number of the current year as a decimal number,
range
00 to 53, starting with the first Monday as the
first day of
week 01.

%x
The preferred date representation for the current locale without
the time.

%X
The preferred time representation for the current locale without
the date.

Some conversion
specifiers can be modified by preceding them by the Eor O modifier to indicate
that an alternative format should be used.If the alternative
format or specification does not exist for the cur‐rent locale, the behaviour
will be as if the unmodified conversionspecification
were used. (SU) The Single Unix Specification mentions%Ec, %EC, %Ex, %EX, %Ry,
%EY, %Od, %Oe, %OH, %OI, %Om, %OM, %OS, %Ou,%OU, %OV, %Ow,
%OW, %Oy, where the effect of the O modifier is to usealternative numeric symbols
(say, roman numerals), and that of the Emodifier is to use a
locale‐dependent alternative representation.