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

Add Ubuntu Core Stacks bits as a new subsection #8

Merged
merged 7 commits into from
Feb 13, 2017

Conversation

jhodapp
Copy link

@jhodapp jhodapp commented Jan 27, 2017

We are using repo to manage sub-git-repositories for the Ubuntu Core Stacks documentation items. I've added documentation in README.md detailing how to fetch these sub-repos. This was the most sane way we could come up with on how to manage all of these various moving parts while not using a monolithic repository duplicating efforts of each snap's documentation.

@bergotorino
Copy link

All good


$ mkdir $HOME/.bin/
$ export PATH=$PATH:$HOME/.bin/repo
$ curl https://storage.googleapis.com/git-repo-downloads/repo > $HOME/.bin/repo
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Would be nice to have a snap for repo.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It would be nice indeed. I'll add this as a story for our backlog.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Story added.


To build the documentation you need to install documentation-builder:

$ snap install documentation-builder
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Lets wrap those shell commands into the right format

    $ snap install documentation-builder

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It should be the right format as the Markdown syntax is just to indent with at least 4 spaces to get a codeblock.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ok.


Then install the git-repo utility:

$ mkdir $HOME/.bin/
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

See comment about shell commands above

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why a hidden folder for ~/bin? I think the usual way is without the dot.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I based this off of an example from a site and this is the approach they took. I actually rather like the dot as it doesn't pollute your home directory in any kind of normal visual way. I'm not opposed to the other way either if someone has a strong opinion one way or another.

default.xml Outdated
<project path="en/stacks/tpm/tpm" name="tpm" />
<project path="en/stacks/tpm/tpm2" name="tpm2" />
<project path="en/stacks/disk/udisks" name="udisks" />
<project path="en/stacks/disk/udisks2" name="udisks2" />
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why do we have udisks and udisks2?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We have a snap for both and thought it'd be important to discuss the differences between the two for any integrators out there.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We only have a udisks2 snap. A udisks snap does not exist. If you're referring to https://code.launchpad.net/~snappy-hwe-team/snappy-hwe-snaps/+git/udisks then I don't know why that exists but it does not have any relevance and should be removed.

default.xml Outdated
<project path="en/stacks/disk/udisks2" name="udisks2" />
<project path="en/stacks/power" name="upower" />
<project path="en/stacks/testing" name="engineering-tests" />
<project path="en/stacks/wifi" name="wifi-ap" />
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not sure why wifi maps to wifi-ap ?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It is intending to be a general wifi section, so if we have anything else (such as adding docs for wireless-tools), we'll share this directory with wifi-ap.

Ubuntu Stacks currently offers the following areas of functionality that areas
relevant to many different types of Ubuntu Core-based systems:

* [Audio device management](audio/index.md)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is not only about "device management" but also playback/recording/..

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That's covered in another bullet point below.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You mean media playback/recording management? I am not sure in which cases we want to tell people to use media-hub. That mostly makes only sense on consumer devices. In all others cases people want direct access to pulse and alsa when then serves as playback/recording service. Can't we name this point just "Audio" and the other one "Media management"?


* [Audio device management](audio/index.md)
* [Bluetooth device management](bluetooth/doc/overview.md)
* [Disk mountpoint management](disk/index.md)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Disk/storage manegement. Not only about where things are mounted. Udisks offer a lot more features like formatting, partioning, ...

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Addressed this by making it more generic.


# Trusted Platform Module (TPM)

There are currently two different snaps that help manage TPM under Ubuntu Core Stacks
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We should explain what TPM is and also outline the actual difference between both snaps (one supporting just 1.2 and the other one 2.0).

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I need some help on this. I agree with you, I just have no experience in the details. Could also reach out to Scott to write a little blurb up.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For now, I added a link to the Wikipedia page for TPM. We should improve on this for the future when appropriate.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ok. Tony wrote once ago a paper about this we can easily integrate here.

There are currently two different snaps that help manage TPM under Ubuntu Core Stacks
depending on the version of TPM that your hardware device supports:

1. TPM
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Both snap names go by lower-case

* [TPM](tpm/index.md) [Reference](https://en.wikipedia.org/wiki/Trusted_Platform_Module)
* WiFi Access Point (AP) system offering

* Extensive manual and automatic testing framework for above functionality via
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Shouldn't we better put this under a separate section named "testing" or similar?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes indeed. I had that, but since we didn't have any documentation yet I left it out for now.

Copy link
Member

@alfonsosanchezbeato alfonsosanchezbeato left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Some small changes required.

Also, please rebase and force push so we have a cleaner history when the PR gets merged. Probably something like 3 commits would make sense: one for README.md, another one for adding default.xml and a third one adding the files from en/* .

en/metadata.yaml Outdated
location: stacks/bluetooth/doc/overview.md
- title: Disk management
location: stacks/disk/index.md
- title: Location services

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would add a "TODO" to the parts not created yet.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In the main navigation, please don't add sub-pages without a location, they clutter navigation and make you hunt for actual links, these WIP topics are already visible (and don't look like links) on the index page of the section.


Then install the git-repo utility:

$ mkdir $HOME/.bin/

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why a hidden folder for ~/bin? I think the usual way is without the dot.

* [Disk mountpoint management](disk/index.md)
* Location services (GPS, WiFi, etc)
* Media playback/recording management
* Modem device management

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Better something like "Modem Cellular Data management"

@jhodapp
Copy link
Author

jhodapp commented Jan 30, 2017

@alfonsosanchezbeato I personally like when a history is detailed as is and not squashed down. I know we've differed in preference here before. What does the rest of the team prefer...I'll accommodate the group opinion.

@alfonsosanchezbeato
Copy link
Member

alfonsosanchezbeato commented Jan 30, 2017

@jhodapp it is not about being detailed or not, it is about having a clean history. By clean I do not mean longer or shorter, it can go either way, but, well, clean. This is something that can have different definitions indeed, but some cases look very clear to me.

For instance, let's take commit "Fix export statement in README.md" as an example. It is pretty clear that what it contains is a typo fix for a previous commit in the PR, and therefore if it gets merged it will simply add a commit to trunk with no useful information. That just clobbers main trunk history. It will be better if that concrete commit gets merged with "Add documentation to the README.md ...", and I think we can agree on that.

The same happens with the changes to en/metadata.yaml that are scattered along a few commits, being the changes of the same nature (adding sections). Splitting the changes in that way does not add useful information to trunk and makes history harder to read.

As said, we can discuss what "clean" is, because there are different strategies on how commits can be organized. But one rule that should be in any strategy is that a correction of a typo of a previous commit in the same PR, or adding items of the same type in a code section, should be squashed into the original commit inside the PR.

In other words: the internal history of the development of a PR is not interesting for the main trunk.

A blog post on this: https://www.notion.so/Keeping-Commit-Histories-Clean-0f717c4e802c4a0ebd852cf9337ce5d2 @

Ubuntu Stacks is a set of snap packages that offer system-level functionality that
enables important core system-level functionality not offered by the base Ubuntu Core
system. With little to no additional effort, these snaps can be dropped in place
on one or more new or existing systems bringing significant new functionality.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't mean to be pedantic, but functionality is used three times here with slightly different meaning. Is there a more concrete way to phrase this?

Copy link
Author

@jhodapp jhodapp Jan 30, 2017

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That's not pedantic, that's a good catch that I normally see myself.

@jhodapp
Copy link
Author

jhodapp commented Jan 30, 2017

@alfonsosanchezbeato I agree with you on the typo fixes. Since we've had this conversation before I'd recommend that you specify more precisely what you mean the next time it comes up. For example, specify that you'd like to see the typo commit fixes merged into other history items. My default is to prefer to leave the history exactly as happened during development, but that's just my preference.

@jhodapp
Copy link
Author

jhodapp commented Jan 30, 2017

I addressed all review comments that I thought appropriate (which was almost all of them). Take another look.

Jim Hodapp added 2 commits January 30, 2017 14:56
…bes where repo can find the various Ubuntu Core Stacks documentation bits.

Fix export statement in README.md
@morphis
Copy link
Contributor

morphis commented Jan 31, 2017

@jhodapp @alfonsosanchezbeato Lets not discuss this here. Every project has it's own preference. Lets see what @caldav wants. If he is fine with what @jhodapp did, then we're ok.


There are currently two different snaps that help manage audio under Ubuntu Core Stacks:

1. ALSA Utils
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As we're talking about the snaps above we should give the right names here which are 'alsa-utils' and 'pulseaudio'.

under Ubuntu Core Stacks:

1. udisks
2. udisks2
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We don't. See comment above. The has only one too

snap find udisks
Name     Version  Developer  Notes  Summary
udisks2  2.1.7-2  canonical  -      D-Bus service to access and manipulate storage devices

actively maintained by an internal Canonical team.

Please note that some additional integration work to these snaps are required if
new application of these snaps diverges significantly from existing applications.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What do you mean with this paragraph? I have the feeling that the word 'application' is a bit overloaded in this context when talking about snaps as it has a different meaning there.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It is overloaded indeed, however that's ok in this context. For example, if someone reads it as an app like on a phone vs applying a snap to something, it still gives the same context. What I meant here though is if someone wants to use NetworkManager for example but they want it to manage ethernet connections, they'd need to do the work. It's not a great example since we'll be doing it, but it makes my point.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

NOTE: I changed it a bit in my latest commit. See if that clarifies it a bit for you.

new application of these snaps diverges significantly from existing applications.

You may find the existing source repositories for these snaps as well as where to
submit contributions to them [here](https://code.launchpad.net/~snappy-hwe-team/snappy-hwe-snaps/).
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Later we may want to give an example here of how to contribute on launchpad as for today's github users that is not really obvious ...

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

+1, I'll add a section on that now as I think that is important.


# What Ubuntu Core Stacks offers

Ubuntu Stacks currently offers the following areas of functionality that areas
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ubuntu Stacks -> Ubuntu Core Stacks

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

And change to just:

Ubuntu Stacks currently offers the following areas of functionality:

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done


# Network management & services

There are currently several interesting snaps which manage networking, modems
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Lets drop "several interesting". That is a personal feeling.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done


# Trusted Platform Module (TPM)

There are currently two different snaps that help manage TPM under Ubuntu Core Stacks
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ok. Tony wrote once ago a paper about this we can easily integrate here.


# Disk management

There are currently two different ways to manage disks and their mount points
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There is just one single way. See comment below.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We should get rid of the udisks repo then if it's not being used. That's quite confusing.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done

<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<remote name="origin" fetch="https://git.launchpad.net/~snappy-hwe-team/snappy-hwe-snaps/+git" />
<default revision="master" remote="origin" sync-j="4" />
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That is a thing which we need to debate. "master" always reflects development. For documentation which reflects snap's released into the stable channel we need to use the "stable" branch of each repository which will always reflect the latest version either inside stable or candidate. However we should never use "master" here unless the whole documentation is explicitly flagged to represent development.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's a fair point but one we can correct in the future in a coordinated effort with David Calle since everyone is using master branches today.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we can review it once versioning lands in documentation-builder. Let's use master for now.

Copy link
Contributor

@morphis morphis Jan 31, 2017

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't agree. master always reflects our development branch. Once a snap is pushed to beta/candidate everything is tagged and merged into the stable branch. With that we can always ensure we have a well-known state of our documentation for our snaps being in beta/candidate/stable. So if we select a default here for the time being it should be 'stable' and not master. Otherwise we risk that not yet available features become available on docs.ubuntu.com and that is nothing we want, even not with this first initial version.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this a Canonical-ism? I find it a little irregular that we don't treat master as a "current stable" branch and use branches for features. While I completely understand the point of a release branch, it seems strange to me that we should use any branching strategy that doesn't trend toward a canonical (lowercase c) master.

From the root of the documentation source tree do the following to get the Ubuntu
Core Stacks bits:

$ repo init -u git@github.com:CanonicalLtd/ubuntu-core-docs.git
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do we have a buy-in from @caldav on this?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Haven't received a review from him yet so unsure. I'll ping him again.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Makes a lot of sense here and could be worth exploring for other use cases in the snap doc, thanks for the idea. Works for me.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Great thanks. It's very easy to use and I found is the best solution for this. I research git submodules and git-subtree as well.

@jhodapp jhodapp force-pushed the git-repo branch 2 times, most recently from a0b70e9 to f8748bb Compare January 31, 2017 13:41
Copy link
Contributor

@caldav caldav left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Some formatting nitpicks.

I'd like @nottrobin and @WillMoggridge to have a look at the repo requirements (README.md), that would need to be run when deploying the site.

en/metadata.yaml Outdated
location: stacks/bluetooth/doc/overview.md
- title: Disk management
location: stacks/disk/index.md
- title: Location services
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In the main navigation, please don't add sub-pages without a location, they clutter navigation and make you hunt for actual links, these WIP topics are already visible (and don't look like links) on the index page of the section.

There are currently two different snaps that help manage audio under Ubuntu Core Stacks:

1. alsa-utils
2. pulseaudio
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is there a need for a numbered list here (eg. steps to follow or order of preference)? If not, please use a simple list (same goes for other pages)

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done

Ubuntu Core Stacks is a set of snap packages that offer system-level functionality that
enables important core system-level features not offered by the base Ubuntu Core
system. With little to no additional effort, these snaps can be dropped in place
on one or more new or existing systems bringing significant new value to these systems.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think that "one or more" is needed there.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done

1. tpm
2. tpm2

[See this page](https://en.wikipedia.org/wiki/Trusted_Platform_Module) more information about TPM.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Missing a "for"

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done

@nottrobin
Copy link
Contributor

nottrobin commented Jan 31, 2017

The intention of https://docs.ubuntu.com is as a home for technical documentation pertaining to specific versions of specific software products. The intention is that each set of documentation would basically be an HTML representation of the contents of a /docs folder within a specific codebase repository.

This then allows us to simply provide two features across all our sets of documentation:

  • We can version the documentation in accordance with the branches/tags on the codebase repository
  • We can easily provide links to the place in the repository where each document can be edited (coming soon)

The hope is that this will provide the reader with clarity in a number of ways. If they are hypothetically looking at https://docs.ubuntu.com/snapd/2.22/en/commands, then they can know:

I am aware this vision hasn't quite materialised. MAAS is closest, but although the docs live at https://github.com/canonicalltd/maas-docs rather than in the original codebase.

However, I'd still rather stay as close to this vision as possible, to provide simplicity and clarity in our software and documentation structure.

This simplicity won't just make it easier for the reader to understand, it also makes it much easier for us to manage. One of the problems with managing the existing https://developer.ubuntu.com project that made it very hard to work with were that it pulled in many different bits of documentation from many different places with no clear structure. Not only does this make it very hard to understand where stuff is coming from, it also complicates dependencies and makes it more likely that a link will break somewhere internally - a software project will move or something - and then the documentation as a whole rapidly either brakes or gets out of date. I feel that by creating a clear set of hard and fast rules to govern the structure of our documentation we can avoid getting into this mess.

So to bring this back to this request. My preferred solution would be that each of the separate software products mentioned in default.xml, which appear to be separate software products (alsa-utils, pulseaudio, power etc.) have their own documentation, and then each of those sets would be linked to from the central Ubuntu Core documentation. This will be much simpler and more transparent for everyone to understand.

I realise this might mean we have a cumbersome list of different sets of documentation (ubuntu-core, core-alsa-utils, core-modem-manager etc.), so it may well be worth discussing ways in which we can group sets of documentation within docs.ubuntu.com. I have no problem with that. But I would much prefer that we keep each set of documentation as a self-contained unit.

This would keep it so that if you're working on ubuntu-core-docs, you can simply run documentation-builder and see exactly what's at http://docs.ubuntu.com/core/, as with all the other documentation.

@alextnewman
Copy link

@nottrobin I feel, based on the points that you've made, that we're not representing what we're trying to do very well. I'll try to provide some context for how and why we are attempting to collect our documentation this way.

We are specifically using repo as a structured way to aggregate the content from multiple git repositories and provide a coherent index along with the potential for associated top-level guides to content within those repositories, so I don't think we fundamentally disagree with the goal of maintaining documentation in our various git repos in a way where documentation can track alongside the development and MR/PR workflow through release branches. The goal here would be to place the metadata describing this collection not in an arbitrary internal listing but rather using a publicly available tool which is source controlled itself and can be run by any developer. Our own internal discussion on the subject led us on this path after observing that we would be doomed to recreate this aggregation solution if we did not embrace something widely available. Further, we embraced repo so that we could create a loose association of repositories via branches/tags as opposed to an unnecessarily tight association of commits via git sub-repos.

I would argue that by representing our component categories within Core as separate software components is not only unapproachably esoteric for customers coming to our solution from external stacks (i.e. "why do I search for alsa when I care about sound?") but also puts us on the path of representing Core as a collection of things instead of a product. So, I'd say we're very interested in pursuing a solution for creating "sets" of documentation (as you've mentioned) and that I'd like to respectfully ask that you reconsider our proposed solution for that subdomain of the problem and not disregard it outright. I don't think what we're doing is in conflict with any requirement or intention you've described and any movement toward defining a centralized structure for repos containing documentation or any proposed style-guide binding that documentation would be extremely helpful for our team as we work to make these rather technical components more accessible to our users. And I think that we need an additional "wrapper" on top of these upstream repositories so that we can avoid long-running branches that obfuscate history or attempting to foist Canonical-specific documentation or productization on the open source projects we utilize and contribute to.

I feel like we should be in very close to alignment in what we're trying to accomplish, so I'd like to propose that we have a discussion internally on how to best realize the benefits of a distributed workflow and a centralized product vision. The last thing we want to do is saddle your team with technical complexity, so I had originally proposed to my team that we perform this documentation aggregation internally before "releasing it" for inclusion in upstream documentation should there be a significant cost with regard to the tools we're using (like repo). I would appreciate any feedback you can offer on how to accomplish this.

Addressed a second round of review comments.

Added section on how to get/push source changes to Ubuntu Core Stacks snaps.

We only use udisks2, no need to mention udisks.

Addressed review comments from David Calle.
@nottrobin
Copy link
Contributor

Thanks @alextnewman for replying in such depth.

Sorry for sounding negative in my response earlier. I am primarily interested in creating simple patterns for all documentation to follow going forward. I'm sure the issues we're dealing with here will come up again, and I think therefore that the patterns we use deserve careful consideration, because complexity is easily created and very hard to undo without starting from scratch.

I agree it sounds like we're fairly aligned in our goals. Yes I think having a meeting about it would be very helpful.

Copy link
Contributor

@nottrobin nottrobin left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Okay after much discussion with everyone, I'm happy for this git-repo solution to go ahead for now, as this documentation needs to be drawn together with some urgency.

I am still worried that it sets a bad precedent. I still think that each set of documentation markdown files should be self-contained, and the relationship between markdown repositories and built HTML files should be direct and simple. And this breaks that.

However, we do need a pattern for drawing together related sets of documentation. This should ideally be codified higher up the chain, with core functionality in documentation-builder or in the docs.ubuntu.com application, rather than hacked together with tools like git-repo in individual documentation sets. But unfortunately it doesn't look like creating and implementing the ideal solution can happen in time for this.

So for now I'm happy with this solution in this instance. I will try to revisit this to come up with a more future-proof solution in the near future, and I'd also appreciate it if everyone else would keep this in mind and let me know if they have any ideas.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants