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

Created basic extensions framework docs #294

Closed
wants to merge 2 commits into from

Conversation

LukasHirt
Copy link
Collaborator

@LukasHirt LukasHirt commented May 28, 2020

Document how to create a frontend part of extensions and how are they loaded into Phoenix.

Open tasks:

  • Check for any references to the old extensions docs

@LukasHirt LukasHirt self-assigned this May 28, 2020
@update-docs
Copy link

update-docs bot commented May 28, 2020

Thanks for opening this pull request! The maintainers of this repository would appreciate it if you would create a changelog item based on your changes.


For the side bar have a look at the files app, `defaults.js` & `fileSideBars`

## API driven development
Copy link
Collaborator Author

Choose a reason for hiding this comment

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

I am not sure where to include this part. This seems more general information than extensions specific. 🤷

@LukasHirt LukasHirt requested a review from kulmann May 28, 2020 10:44
@LukasHirt
Copy link
Collaborator Author

@kulmann I requested a review from you here since you were recently working with the extensions because of the settings, right? So I guess you can best see in case I forgot something.

@kulmann
Copy link
Member

kulmann commented May 28, 2020

@LukasHirt is this part of the documentation meant to be about oCIS extensions in general (covering both frontend and backend extensions), or only frontend? I'd prefer covering frontend and backend (and from what I read here, I think you do as well). Right now it looks to me like it is supposed to cover both and has a strong focus on frontend at the moment (which is fine). But please clarify before I review.

@LukasHirt
Copy link
Collaborator Author

@kulmann Yes, the idea was to cover both.

Copy link
Member

@kulmann kulmann left a comment

Choose a reason for hiding this comment

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

Cool! We can add more content about backend extensions later on. For frontend this is a comprehensive read already! Added some ideas for improvement.

geekdocFilePath: extensions-framework/_index.md
---

Extension framework is one of the fundamental building blocks of oCIS. In the following documentation, you will learn how oCIS extensions work and how to create your own.
Copy link
Member

Choose a reason for hiding this comment

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

Keeping in mind that we want to cover both frontend and backend extension, I'm proposing this slightly changed version:
The extension framework is one of the fundamental building blocks of oCIS. In the following documentation, you will learn how oCIS extensions work and how they can be integrated into your setup. If you want to create your own oCIS extension, please have a look at the ocis-hello documentation. It was specifically made for guiding you through extension creation.

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

I think we should point more to this documentation in context of explaining how to create the extension rather than to ocis-hello. Of course, we should point to ocis-hello as an example extension which is why it was created.

Pointing to ocis-hello as the place where you learn how to create an extension instead of where you see how it works all together can lead to some confusion IMHO. E.g. in the ocis-hello we use rollupjs to bundle the frontend as amd module. Does this mean we have to use rollup? Why amd? Is it because ownCloud devs prefer that or is it required?

Also, this would lead just to jumping between those two docs. See how to create an ocis extension -> jump into ocis-hello docs. See how to load the extension in ocis-web -> jump back to extensions framework docs.

I'll push a new commit where you can see how I think it with pointing to ocis-hello as an example extension.

docs/extensions-framework/create-frontend.md Outdated Show resolved Hide resolved
docs/extensions-framework/create-frontend.md Outdated Show resolved Hide resolved
docs/extensions-framework/create-frontend.md Outdated Show resolved Hide resolved
docs/extensions-framework/create-frontend.md Outdated Show resolved Hide resolved
docs/extensions-framework/getting-started.md Outdated Show resolved Hide resolved
docs/extensions-framework/getting-started.md Outdated Show resolved Hide resolved
docs/extensions-framework/getting-started.md Outdated Show resolved Hide resolved
docs/extensions-framework/getting-started.md Outdated Show resolved Hide resolved
docs/extensions-framework/getting-started.md Outdated Show resolved Hide resolved
Copy link
Member

@kulmann kulmann left a comment

Choose a reason for hiding this comment

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

Need to check if this still complies with the monorepo (it should). But some parts don't make sense anymore, because we don't have ocis-hello in the single binary and it's too much hassle to describe to the reader how they can set up ocis + ocis-hello just for the purpose of showing that the frontend is extensible. Need a different approach here..


You can take a look at an example of a full config.json [here](https://github.com/owncloud/phoenix/blob/master/config.json.sample-ocis).

## Test extension framework locally with ocis-simple
Copy link
Member

Choose a reason for hiding this comment

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

simple doesn't exist anymore. Rewriting the first part is easy, but down in the list, steps 3 and 4 don't make sense then, because hello is not part of any build or deployment anymore...

  • remove it from the title
  • remove the first two sentences from the first paragraph
  • remove the TAGS=simple from make


Open the browser at [https://localhost:9200](https://localhost:9200)

1. You land on the login screen. Click login
Copy link
Member

Choose a reason for hiding this comment

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

Step 1 doesn't exist anymore. 😁 🚀


1. You land on the login screen. Click login
2. You are redirected to an IDP with a login mask. Use `einstein:relativity` to login (one of the three demo users)
3. You are redirected to [http://localhost:9200/#/hello](http://localhost:9200/#/hello), which is the landing page of the [ocis-hello](https://owncloud.github.io/extensions/ocis_hello/) extension
Copy link
Member

Choose a reason for hiding this comment

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

Hello is not part of the single binary :-(

@butonic
Copy link
Member

butonic commented Jul 1, 2021

bitrotted, @LukasHirt can you update?

@LukasHirt
Copy link
Collaborator Author

Closing as we're moving into quite different direction and this is becoming more and more outdated - feel free to reopen/cherry pick useful information from here.

@LukasHirt LukasHirt closed this Sep 7, 2021
@wkloucek wkloucek deleted the docs-extensions-framework branch October 6, 2021 15:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants