Re: User Visible Terminology

2016-09-22 Thread Jan Kaluža

On 09/21/2016 03:08 PM, Honza Silhan wrote:

Hi

On Fri, Sep 16, 2016 at 5:02 PM, Petr Šabata  wrote:

On Thu, Sep 15, 2016 at 10:59:55AM -0400, Matthew Miller wrote:

On Thu, Sep 15, 2016 at 02:25:52PM -, Mary Clarke wrote:

* enable vs install vs select


select is the worst :)


It's what I half-jokingly suggested during the last WG meeting :)

The reason was it's a verb we often use when talking about
modularity -- users "selecting" what modules they want on
their system.

Selecting/enabling/installing a module doesn't necessarily
mean something will get installed on your system.  I don't like
"install" much for that reason.


In the "enable" description is written: "Enable: enables the latest
version and/or release of a module and installs the rpms listed in the
default profile" so does it install something or not? Can you please
provide example when the module prepared for use does not need to be
installed?


There might be modules which contain just shared libraries which other 
modules would depend on. Such modules do not need to have any 
installation profile, so no RPM would be installed when the module is 
installed - the installation of its RPMs would be done as a result of 
dependencies from another module.


Even when there might be modules like that, I would personally vote for 
staying compatible with DNF subcommands as much as we can - so use 
"install". I presume that installation of majority of modules will 
result in some RPM being installed from the module. Modules which do not 
install any RPM during their installation are kind of special (like 
shared dependencies, shared services and so on) and they won't be 
installed by the end users in common cases.


I would personally start with list of DNF commands described here 
http://dnf.readthedocs.io/en/latest/command_ref.html and try to describe 
their Modularity equivalents similarly as Jan did in the last paragraph 
of his email I'm replying to.




Also keep in mind that when modules support is implemented in DNF it
will not be in conflict with the new terminology.  i.e. "dnf install
httpd" == enable httpd module == install rpms of httpd module. So
please reconsider "install" again.


* Install: performs actions to prepare modules to run


Is install a subset of enable, or does enable simply call install as a
convenience if you try to enable something that's not installed?


/me shrugs.

Until very recently, I thought install and enable were just
different verbs for the same action.  I don't really understand
what "install" means now either.  Could someone knowledgable
elaborate?


* Run: run the module


What does that mean? Do I *need* to run a module? Is this like "scl
enable"? And how does this interact with "enable", for that matter?


+1


I would like to also hear what "install" and "run" means in module
terminology. It should be IMO explained before "enable" is decided to
be used as a reference word.

Would it be possible to provide more information about the commands
and in best case provide use cases for commands? Something like:
"Admin has module of version X installed. In the the same stream this
module has a security fix. Admin will use "check-upgrade" which will
..., then he will ... to ...


Honza
___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org



Regards,
Jan Kaluza
___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org


Re: User Visible Terminology

2016-09-22 Thread Jan Kaluža

On 09/22/2016 09:04 AM, Garrett Holmstrom wrote:

On 2016-09-16 08:43, Matthew Miller wrote:

On Fri, Sep 16, 2016 at 05:02:04PM +0200, Petr Šabata wrote:

This is for the labeling of, for example, separate PHP 5, 6, and 7
modules?


Yes.  Or even variations of the same upstream version.

I'm really pro-stream here because these identifiers have
nothing to do with upgrade paths and some modules or module
stacks wouldn't even have any concept of numbered, progressive
builds/releases.  It's just a label.

I would save the word "version" to identify updates within
these "streams".


I agree on not using "version" for this. I'm not completely sold on
"stream", partly because we talk about "upstream" and "downstream" so
much, and this is unrelated to that. How about "branch"? That fits with
the idea of "rebase" for switching between them


How about "series", as in "the PHP 7 series"?


Some people around modularity started using "generation" recently, this 
is imho also good word.


Jan Kaluza


___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org


Re: User Visible Terminology

2016-09-22 Thread Garrett Holmstrom

On 2016-09-16 08:43, Matthew Miller wrote:

On Fri, Sep 16, 2016 at 05:02:04PM +0200, Petr Šabata wrote:

This is for the labeling of, for example, separate PHP 5, 6, and 7
modules?


Yes.  Or even variations of the same upstream version.

I'm really pro-stream here because these identifiers have
nothing to do with upgrade paths and some modules or module
stacks wouldn't even have any concept of numbered, progressive
builds/releases.  It's just a label.

I would save the word "version" to identify updates within
these "streams".


I agree on not using "version" for this. I'm not completely sold on
"stream", partly because we talk about "upstream" and "downstream" so
much, and this is unrelated to that. How about "branch"? That fits with
the idea of "rebase" for switching between them


How about "series", as in "the PHP 7 series"?

--
Garrett Holmstrom
___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org


Re: User Visible Terminology

2016-09-21 Thread Petr Šabata
On Fri, Sep 16, 2016 at 11:43:35AM -0400, Matthew Miller wrote:
> On Fri, Sep 16, 2016 at 05:02:04PM +0200, Petr Šabata wrote:
> > > This is for the labeling of, for example, separate PHP 5, 6, and 7
> > > modules?
> > 
> > Yes.  Or even variations of the same upstream version.
> > 
> > I'm really pro-stream here because these identifiers have
> > nothing to do with upgrade paths and some modules or module
> > stacks wouldn't even have any concept of numbered, progressive
> > builds/releases.  It's just a label.
> > 
> > I would save the word "version" to identify updates within
> > these "streams".
> 
> I agree on not using "version" for this. I'm not completely sold on
> "stream", partly because we talk about "upstream" and "downstream" so
> much, and this is unrelated to that. How about "branch"? That fits with
> the idea of "rebase" for switching between them

"Branch" is also fine, I'd say.  Especially if you consider
that's exactly how these are going to be developed -- branches
in dist-git.  Hmm...

P


signature.asc
Description: PGP signature
___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org


Re: User Visible Terminology

2016-09-21 Thread Honza Silhan
Hi

On Fri, Sep 16, 2016 at 5:02 PM, Petr Šabata  wrote:
> On Thu, Sep 15, 2016 at 10:59:55AM -0400, Matthew Miller wrote:
>> On Thu, Sep 15, 2016 at 02:25:52PM -, Mary Clarke wrote:
>> > * enable vs install vs select
>>
>> select is the worst :)
>
> It's what I half-jokingly suggested during the last WG meeting :)
>
> The reason was it's a verb we often use when talking about
> modularity -- users "selecting" what modules they want on
> their system.
>
> Selecting/enabling/installing a module doesn't necessarily
> mean something will get installed on your system.  I don't like
> "install" much for that reason.

In the "enable" description is written: "Enable: enables the latest
version and/or release of a module and installs the rpms listed in the
default profile" so does it install something or not? Can you please
provide example when the module prepared for use does not need to be
installed?

Also keep in mind that when modules support is implemented in DNF it
will not be in conflict with the new terminology.  i.e. "dnf install
httpd" == enable httpd module == install rpms of httpd module. So
please reconsider "install" again.

>> > * Install: performs actions to prepare modules to run
>>
>> Is install a subset of enable, or does enable simply call install as a
>> convenience if you try to enable something that's not installed?
>
> /me shrugs.
>
> Until very recently, I thought install and enable were just
> different verbs for the same action.  I don't really understand
> what "install" means now either.  Could someone knowledgable
> elaborate?
>
>> > * Run: run the module
>>
>> What does that mean? Do I *need* to run a module? Is this like "scl
>> enable"? And how does this interact with "enable", for that matter?
>
> +1

I would like to also hear what "install" and "run" means in module
terminology. It should be IMO explained before "enable" is decided to
be used as a reference word.

Would it be possible to provide more information about the commands
and in best case provide use cases for commands? Something like:
"Admin has module of version X installed. In the the same stream this
module has a security fix. Admin will use "check-upgrade" which will
..., then he will ... to ...


Honza
___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org


Re: User Visible Terminology

2016-09-16 Thread Stephen Gallagher
On 09/16/2016 11:43 AM, Matthew Miller wrote:
> On Fri, Sep 16, 2016 at 05:02:04PM +0200, Petr Šabata wrote:
>>> This is for the labeling of, for example, separate PHP 5, 6, and 7
>>> modules?
>>
>> Yes.  Or even variations of the same upstream version.
>>
>> I'm really pro-stream here because these identifiers have
>> nothing to do with upgrade paths and some modules or module
>> stacks wouldn't even have any concept of numbered, progressive
>> builds/releases.  It's just a label.
>>
>> I would save the word "version" to identify updates within
>> these "streams".
> 
> I agree on not using "version" for this. I'm not completely sold on
> "stream", partly because we talk about "upstream" and "downstream" so
> much, and this is unrelated to that. How about "branch"? That fits with
> the idea of "rebase" for switching between them
> 

What about "flow" or "journey"? With "flow", we could use the term "reflow" for
switching between them as well.



signature.asc
Description: OpenPGP digital signature
___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org


Re: User Visible Terminology

2016-09-16 Thread Matthew Miller
On Fri, Sep 16, 2016 at 05:02:04PM +0200, Petr Šabata wrote:
> > This is for the labeling of, for example, separate PHP 5, 6, and 7
> > modules?
> 
> Yes.  Or even variations of the same upstream version.
> 
> I'm really pro-stream here because these identifiers have
> nothing to do with upgrade paths and some modules or module
> stacks wouldn't even have any concept of numbered, progressive
> builds/releases.  It's just a label.
> 
> I would save the word "version" to identify updates within
> these "streams".

I agree on not using "version" for this. I'm not completely sold on
"stream", partly because we talk about "upstream" and "downstream" so
much, and this is unrelated to that. How about "branch"? That fits with
the idea of "rebase" for switching between them


-- 
Matthew Miller

Fedora Project Leader
___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org


Re: User Visible Terminology

2016-09-16 Thread Petr Šabata
On Thu, Sep 15, 2016 at 06:41:10PM +0300, Alexander Ploumistos wrote:
> On Thu, Sep 15, 2016 at 5:25 PM, Mary Clarke  wrote:
> >
> > The Modularity working group is looking to standardize terminology that 
> > users use to interact with functionality around modules.
> 
> 
> Perhaps it would be better if someone provided some examples for the
> functions described here - at least for the vaguest terms. Is there a
> wiki page, mailing list thread, irc log or something to get a better
> idea about them?
> 
> Also, if
> 
> > * Upgrade: updates the module to the latest release but the same version of 
> > the module
> 
> what would upgrading/updating to a higher version of a module be called?

This is exactly why I'm against the "version" keyword here :)

Just because another "version"/"stream" provides newer upstream
version of your software doesn't mean it's really an upgrade
for you.  It might, it might not be.  You need to consider
other module metadata too.

Anyway, the verb we've been using for switching between module
"versions"/"streams" so far is "rebase", AFAIC.  I believe
that's also open for discussion.

P


signature.asc
Description: PGP signature
___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org


Re: User Visible Terminology

2016-09-16 Thread Petr Šabata
On Thu, Sep 15, 2016 at 10:59:55AM -0400, Matthew Miller wrote:
> On Thu, Sep 15, 2016 at 02:25:52PM -, Mary Clarke wrote:
> > The Modularity working group is looking to standardize terminology that 
> > users use to interact with functionality around modules.  There are some 
> > generally accepted terms, but there are also some that have multiple 
> > choices for common functions.  Some of the more debated options include:
> > * version vs stream
> 
> This is for the labeling of, for example, separate PHP 5, 6, and 7
> modules?

Yes.  Or even variations of the same upstream version.

I'm really pro-stream here because these identifiers have
nothing to do with upgrade paths and some modules or module
stacks wouldn't even have any concept of numbered, progressive
builds/releases.  It's just a label.

I would save the word "version" to identify updates within
these "streams".

> > * enable vs install vs select
> 
> select is the worst :)

It's what I half-jokingly suggested during the last WG meeting :)

The reason was it's a verb we often use when talking about
modularity -- users "selecting" what modules they want on
their system.

Selecting/enabling/installing a module doesn't necessarily
mean something will get installed on your system.  I don't like
"install" much for that reason.

> > * Enable: enables the latest version and/or release of a module and
> >installs the rpms listed in the default profile
> > * Install: performs actions to prepare modules to run
> 
> Is install a subset of enable, or does enable simply call install as a
> convenience if you try to enable something that's not installed?

/me shrugs.

Until very recently, I thought install and enable were just
different verbs for the same action.  I don't really understand
what "install" means now either.  Could someone knowledgable
elaborate?

> > * Run: run the module
> 
> What does that mean? Do I *need* to run a module? Is this like "scl
> enable"? And how does this interact with "enable", for that matter?

+1

> > * Check-upgrade
> 
> list-security? (And/or check-security)?
> 
> > * Install profile
> > * System profile: a config file that lives with the machine
> 
> What do profiles do?

The installation profiles would list components that would
get installed if that particular profile was selected by the
user, for example with permanent configuration, GUI buttons or
command line options.  These could also be used for [container]
image generation.  Later we'd also like to extend these with
recipes for automatic component configuration.

System profiles are something else entirely -- they define what
modules and module variants ("streams"/"versions") should be
chosen when installing new content or [automatically] upgrading
your system.  How exactly that would work isn't defined yet but
the idea is that you could select modules by their "API", their
life cycle, licenses or pretty much any metadata they provide.

P

> -- 
> Matthew Miller


signature.asc
Description: PGP signature
___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org


Re: User Visible Terminology

2016-09-16 Thread Björn Persson
"Mary Clarke"  wrote:
> * List-enabled: lists all enabled modules

If this is terminology to be displayed in a user interface, not
technical identifiers, then this hyphen is wrong. "List enabled" is a
verb applied to an object, and is a reasonable short form of "list all
enabled modules". "List-enabled" is a compound adjective that means
something like "enabled for listing". Presumably modules that aren't
list-enabled are omitted from the list.

> * Check-upgrade
> * Check-rebase

If these are supposed to mean "check whether something can be
upgraded/rebased", then these hyphens are also wrong. To "check-upgrade"
something means either to upgrade it in a "check" way, or else to first
check it and then upgrade it.

If, on the other hand, these terms can't contain spaces because they're
command line parameters, then they should be written in all lowercase.

And if I'm completely off base, then perhaps you should have provided a
little more context.

Björn Persson


pgpwk4F7qXxu3.pgp
Description: OpenPGP digital signatur
___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org


Re: User Visible Terminology

2016-09-15 Thread Alexander Ploumistos
On Thu, Sep 15, 2016 at 5:25 PM, Mary Clarke  wrote:
>
> The Modularity working group is looking to standardize terminology that users 
> use to interact with functionality around modules.


Perhaps it would be better if someone provided some examples for the
functions described here - at least for the vaguest terms. Is there a
wiki page, mailing list thread, irc log or something to get a better
idea about them?

Also, if

> * Upgrade: updates the module to the latest release but the same version of 
> the module

what would upgrading/updating to a higher version of a module be called?
--
devel mailing list
devel@lists.fedoraproject.org
https://lists.fedoraproject.org/admin/lists/devel@lists.fedoraproject.org


Re: User Visible Terminology

2016-09-15 Thread Matthew Miller
On Thu, Sep 15, 2016 at 02:25:52PM -, Mary Clarke wrote:
> The Modularity working group is looking to standardize terminology that users 
> use to interact with functionality around modules.  There are some generally 
> accepted terms, but there are also some that have multiple choices for common 
> functions.  Some of the more debated options include:
> * version vs stream

This is for the labeling of, for example, separate PHP 5, 6, and 7
modules?

> * enable vs install vs select

select is the worst :)

> * Enable: enables the latest version and/or release of a module and
>installs the rpms listed in the default profile
> * Install: performs actions to prepare modules to run

Is install a subset of enable, or does enable simply call install as a
convenience if you try to enable something that's not installed?

> * Run: run the module

What does that mean? Do I *need* to run a module? Is this like "scl
enable"? And how does this interact with "enable", for that matter?

> * Check-upgrade

list-security? (And/or check-security)?

> * Install profile
> * System profile: a config file that lives with the machine

What do profiles do?

-- 
Matthew Miller

Fedora Project Leader
--
devel mailing list
devel@lists.fedoraproject.org
https://lists.fedoraproject.org/admin/lists/devel@lists.fedoraproject.org


User Visible Terminology

2016-09-15 Thread Mary Clarke
The Modularity working group is looking to standardize terminology that users 
use to interact with functionality around modules.  There are some generally 
accepted terms, but there are also some that have multiple choices for common 
functions.  Some of the more debated options include:

* version vs stream
* enable vs install vs select

All terms for discussion include:
* List: lists all modules
* List-enabled: lists all enabled modules
* Info: shows detailed information about a module
* Summary: provides a summary
* Enable: enables the latest version and/or release of a module and installs 
the rpms listed in the default profile
* Install: performs actions to prepare modules to run
* Search: use to search for modules
* Run: run the module
* Disable: disables the module and the modules depending on that module
* Refresh
* Upgrade: updates the module to the latest release but the same version of the 
module
* Check-upgrade
* Rebase: to switch between major versions of a module
* Check-rebase
* Install profile
* System profile: a config file that lives with the machine
* Select: alternative option to enable or install
* Version
* Stream

Take a few minutes and add terms to this list as new items or alternatives as 
well as respond with which ones you prefer.  We will take input from everyone 
until EOD Friday 9/23/16.  At that point, the working group will make some 
decisions to finalize our terms.
--
devel mailing list
devel@lists.fedoraproject.org
https://lists.fedoraproject.org/admin/lists/devel@lists.fedoraproject.org