Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 564619

Summary: Creation of Eclipse Keyple project website
Product: Community Reporter: Ludovic TEIXEIRA COSTA <ludovic.teixeiracosta>
Component: WebsiteAssignee: phoenix.ui <phoenix.ui-inbox>
Status: RESOLVED FIXED QA Contact:
Severity: normal    
Priority: P3 CC: brice.ruppen, chris.guindon, frederic.gurr, jean-pierre.fortune, mikael.barbero, nicolas.generali, pierre.terree, sharon.corbett, wayne.beaton, webmaster, yvonne.yam
Version: unspecified   
Target Milestone: ---   
Hardware: PC   
OS: Windows 10   
Whiteboard:

Description Ludovic TEIXEIRA COSTA CLA 2020-06-24 08:39:47 EDT
Hello,

I am working with Pierre Terree on the IOT Eclipse Keyple project. 
I am in charge of the development and design of the Keyple project website.
We decided to use the Academic theme and to use Hugo as a Static Site Generator: https://themes.gohugo.io/academic/
We have already created a GitHub repository dedicated to the website : https://github.com/eclipse/keyple-website

We have 2 questions :
1.	What is the best way to install the Academic theme in the Keyple-website repository? Fork the theme in the Keyple-website repository? Take the Academic ZIP and extract in the Keyple-website repository?
2.	How to push the site to the official URL of the Keyple project website? In our case, to www.keyple.org and https://eclipse.org/keyple.

Regards,
Comment 1 Christopher Guindon CLA 2020-06-24 08:56:13 EDT
Hi Ludovic,

1.	What is the best way to install the Academic theme in the Keyple-website repository? Fork the theme in the Keyple-website repository? Take the Academic ZIP and extract in the Keyple-website repository?

I would avoid committing the theme in your project. Our approach is to pull-in dependencies via npm. You can see an example with our events.eclipse.org source code: https://github.com/EclipseFdn/events.eclipse.org https://github.com/EclipseFdn/events.eclipse.org/blob/master/package.json

The hugo-academic theme has a packages.json file, you should be able to do something similar https://github.com/gcushen/hugo-academic/blob/master/package.json


2.	How to push the site to the official URL of the Keyple project website? In our case, to www.keyple.org and https://eclipse.org/keyple.

We have documentation for that here: https://wiki.eclipse.org/Jenkins#How_to_build_my_project.27s_website_with_Jenkins.3F
Comment 2 Ludovic TEIXEIRA COSTA CLA 2020-06-24 11:10:47 EDT
Hi Christopher,
Thank you for your quick return.

Do you have a documentation for the initialization of our repository (which today only contains a Readme file)?
As well as the use of npm?

I notice that in events.eclipse.org source code, you seem to use netlify. Do you advise us to use it too?

Regards,
Comment 3 Christopher Guindon CLA 2020-06-24 12:17:56 EDT
(In reply to Ludovic TEIXEIRA COSTA from comment #2)
> Hi Christopher,
> Thank you for your quick return.
> 
> Do you have a documentation for the initialization of our repository (which
> today only contains a Readme file)?

We don't have any documentation or template for that but you could copy the content of our Event site to get started and remove all the things you don't need.

> As well as the use of npm?

$ mkdir website && cd website
$ git init
$ npm init
$ npm install gcushen/hugo-academic   

This will install the theme in the node_modules folder. The node_modules folder should not be committed as you will pull these dependencies each time you rebuild the website.

This is not the default location for themes with Hugo. To make this work, you will need to do something similar that I am going with our Hugo sites where I am setting the themesDir = "node_modules/".

https://github.com/EclipseFdn/events.eclipse.org/blob/master/config.toml#L7

> 
> I notice that in events.eclipse.org source code, you seem to use netlify. Do
> you advise us to use it too?


We use this service to offer a preview URL to each pull-request. For example, https://github.com/EclipseFdn/iot.eclipse.org/pull/458

I find this very useful.
Comment 4 Christopher Guindon CLA 2020-06-24 12:35:49 EDT
Did you consider using our hugo-solstice theme?
https://github.com/EclipseFdn/hugo-solstice-theme
https://www.npmjs.com/package/eclipsefdn-hugo-solstice-theme

My team is actively maintaining this theme: https://www.npmjs.com/package/eclipsefdn-hugo-solstice-theme

Projects are not required to use it but it might make things easier for you since the site you are building must be compliant with our Eclipse Foundation Hosted Services Privacy and Acceptable Usage Policy: https://www.eclipse.org/org/documents/eclipse-foundation-hosted-services-privacy-and-acceptable-usage-policy.pdf

Our theme has a lot of these requirements build it, such as the cookie consent banner and the required links in the footer.

If you do, you could consider forking the iot.eclipse.org and build your project website using the Eclipse IoT look and feel: https://github.com/EclipseFdn/iot.eclipse.org/

We do our best to keep our theme documentation up-to-date here:
https://eclipsefdn-hugo-solstice-theme.netlify.app/
Comment 5 Ludovic TEIXEIRA COSTA CLA 2020-06-29 05:05:05 EDT
Hi Christopher,

Thank you for your answers.

We didn't know Eclipse had a Hugo theme.
We have looked at your theme but we will continue with the Academic theme that suits us better (there is a documentation component)

On the other hand, your theme and your Event site will be used as a reference to comply with the Eclipse rules.

We managed to use npm, thank you.

About Netlify, we will not use it right now. But in anticipation of its use, we have found that there is a charge for its use. Does Eclipse provide an account?

About Google Analytics, does Eclipse provide an account?

Regards,
Comment 6 Christopher Guindon CLA 2020-06-29 09:09:58 EDT
(In reply to Ludovic TEIXEIRA COSTA from comment #5)
> Hi Christopher,
> 
> Thank you for your answers.
> 
> We didn't know Eclipse had a Hugo theme.
> We have looked at your theme but we will continue with the Academic theme
> that suits us better (there is a documentation component)

Sounds good!

> 
> On the other hand, your theme and your Event site will be used as a
> reference to comply with the Eclipse rules.
> 
> We managed to use npm, thank you.

Great!

> 
> About Netlify, we will not use it right now. But in anticipation of its use,
> we have found that there is a charge for its use. Does Eclipse provide an
> account?

There is a free tier.

> 
> About Google Analytics, does Eclipse provide an account?

You can include thee Eclipse Foundation Google Analytics code by inserting the following code snippet in the <head> section of your page:

  <!-- Google Tag Manager -->
<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
})(window,document,'script','dataLayer','GTM-5WLCZXC');</script>
<!-- End Google Tag Manager --> 

You can also include yours by following our policy: https://www.eclipse.org/org/documents/eclipse-foundation-hosted-services-privacy-and-acceptable-usage-policy.pdf
Comment 7 Ludovic TEIXEIRA COSTA CLA 2020-11-17 12:53:43 EST
Hi Christopher, 
For information, we have pushes a first version of the content of our website on the dedicated repository: https://github.com/eclipse/keyple-website.

We are currently working on the build of the project's website with Jenkins following the wiki.

And also improving the content.

We have 2 questions :

1 - We have made a page where it will be possible to list all the plugins available and compatible with our Keyple project.  
The list contains the plugin's name and also a possible link to :
- plugin's repository	
- plugin's documentations
- website of the company that developed the plugin
Is it authorized ? 

2 - Do we need to do an IP review ?

Regards
Comment 8 Sharon Corbett CLA 2020-11-18 13:12:36 EST
(In reply to Ludovic TEIXEIRA COSTA from comment #7)
> Hi Christopher, 
> For information, we have pushes a first version of the content of our
> website on the dedicated repository:
> https://github.com/eclipse/keyple-website.
> 
> We are currently working on the build of the project's website with Jenkins
> following the wiki.
> 
> And also improving the content.
> 
> We have 2 questions :
> 
> 1 - We have made a page where it will be possible to list all the plugins
> available and compatible with our Keyple project.  
> The list contains the plugin's name and also a possible link to :
> - plugin's repository	
> - plugin's documentations
> - website of the company that developed the plugin
> Is it authorized ? 
> 
> 2 - Do we need to do an IP review ?
> 
> Regards

Regarding #2, there is no IP Review required.  The project website is grey area.  As such we do not perform due diligence on it. 

Over to Wayne for response to #1!

Best Regards,
Sharon
Comment 9 Wayne Beaton CLA 2020-11-18 13:19:16 EST
> 1 - We have made a page where it will be possible to list all the plugins
> available and compatible with our Keyple project.  
> The list contains the plugin's name and also a possible link to :
> - plugin's repository	
> - plugin's documentations
> - website of the company that developed the plugin
> Is it authorized ? 

The general rule is that the project has to operate in an open, transparent, and vendor neutral manner. This includes to the website.

As long as every plug-in that's displayed on the page is put there using the same set of open and vendor neutral rules, this is okay.

The rules should be documented. You could, for example, have a single sentence on the page that says something to the effect of "to include your plugin on this page, give us a pull request on https://github.com/eclipse/keyple-website."
Comment 10 Ludovic TEIXEIRA COSTA CLA 2020-11-19 03:29:38 EST
Hi Sharon and Wayne,

Thank you for your answers.

Regarding Wayne's proposal, that's exactly what we have done, we have already written the following sentence: "To add a plugin send your information to user mailing list (https://accounts.eclipse.org/mailing-list/keyple-user) or made a Pull request (https://github.com/eclipse/keyple-website/pulls) contributions on GitHub."

Now we have a new question.
We plan to switch the entire project to Gitlab in the coming months. We would like to know if we could start the migration now, starting with the website repository. 
In addition, we understood that the use of Jenkins would be replaced by runner dockers. So we'd like to avoid doing the work twice, now with Jenkins on GitHub and then with Docker on Gitlab.

What do you think about it?

Regards,
Comment 11 Christopher Guindon CLA 2020-11-19 13:17:25 EST
(In reply to Ludovic TEIXEIRA COSTA from comment #10)

> Now we have a new question.
> We plan to switch the entire project to Gitlab in the coming months. We
> would like to know if we could start the migration now, starting with the
> website repository. 

I am also hoping to migrate some of our WG sites to Gitlab in the future but before we do so, we need to invest some time on this problem to decide how we want to do this...

I am hoping that we will be able to use GitLab pages to host static websites:
https://about.gitlab.com/stages-devops-lifecycle/pages/


> In addition, we understood that the use of Jenkins would be replaced by
> runner dockers. So we'd like to avoid doing the work twice, now with Jenkins
> on GitHub and then with Docker on Gitlab.

This is a question for Fred/Mika.
Comment 12 Frederic Gurr CLA 2020-11-19 13:41:42 EST
(In reply to Ludovic TEIXEIRA COSTA from comment #10)
> Now we have a new question.
> We plan to switch the entire project to Gitlab in the coming months. We
> would like to know if we could start the migration now, starting with the
> website repository. 
Yes, we can migrate your project to GitLab. Please open a separate Bugzilla issue for this.

> In addition, we understood that the use of Jenkins would be replaced by
> runner dockers. So we'd like to avoid doing the work twice, now with Jenkins
> on GitHub and then with Docker on Gitlab.
For the foreseeable future we will not replace Jenkins with GitLab CI. So there is minimal change between the "GitHub->Jenkins->Keyple website" and the "GitLab->Jenkins->Keyple website" workflow.

We are planning to support GitLab pages in the near future.
Comment 13 Ludovic TEIXEIRA COSTA CLA 2020-12-21 06:22:04 EST
Hello,

We have published the website (keyple.org). Everything works well.

Finally, we didn't use the jenkins file, we used Github pages and use the custom domain name "keyple.org" (see bugzilla 569612).

You can close this as resolved.
Regards,
Comment 14 Eclipse Webmaster CLA 2020-12-21 09:31:30 EST
Closing.

-M.