-
Notifications
You must be signed in to change notification settings - Fork 276
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 rewrite NodeJS app #66
Conversation
If someone wants to look at this... My plan is:
It's a start but in a good shape... Let me know what you think about the plan and the PR :) |
I didn't see the "contact": {
"mail": "my-email@dr.ess",
"twitter": "@twitteraccount",
"whatever": "..."
} This may help to remove the On the other hand, if you need a UI designer, I can find someone for that ^^ |
@fsarradin It makes sense but still how do we choose how we contact a speaker? First, try
Sure. Let me finish the infra and then we can open an issue to enhance all that. I suggest to open a new branch in https://github.com/brownbaglunch/BrownBagLunch which will allow us to contribute the code from different authors... |
It's ok for me. |
@fsarradin Added a new commit. It's fine now. I think I'll add also a "lang": [ "fr" ] "lang": [ "fr", "en" ] So baggers would be able to define either: One talk per language (abstract in french and in english) or one single abstract but the talk would be available in french and english (obviously the abstract would probably be better written in english ;) ). |
👍 |
I think I'm almost done with this PR. Here is what have now: From {
"since": "2013-06-03",
"name": "Antonio Goncalves",
"bio": "Java EE et que Java EE - Freelance - Co-créateur de @ParisJUG @DevoxxFR",
"picture": "http://agoncal.files.wordpress.com/2013/05/antonio2013square2562.jpg",
"websites": [
{
"title": "Blog personnel",
"href": "http://antoniogoncalves.org/"
},
{
"title": "Les bouquins que j'ai écrit",
"href": "http://antoniogoncalves.org/category/books/"
}
],
"twitter": "agoncal",
"contact": "prenom.nom@gmail.com",
"mail": "antonio.goncalves@gmail.com",
"location": "Paris intramuros... mais je veux bien faire un effort",
"sessions": [
{
"title": "Nouveautés Java EE",
"summary": "Slides, code et discussion autour des nouveautés Java EE 7 et Java EE 6."
},
{
"title": "Migrer vos vielles applications",
"summary": "Vous faites du J2EE 1.4 ou du Spring et vous voulez migrer tout ou partie de vos applications, discutons-en."
},
{
"title": "CDI",
"summary": "Découvrez comment faire de l'injection, de l'interception, de la décoration ou de l'évenementiel avec Java EE"
},
{
"title": "Arquillian",
"summary": "Vous connaissez les tests unitaires et les Mocks, découvrez Arquillian pour les tests d'intégration in-container."
},
{
"title": "Une application Java EE 6 en moins d’une heure",
"summary": "Live coding d'une application web avec JBoss Forge, Aquillian, DeltaSpike et déployée dans JBoss, GlassFish et TomEE."
}
],
"tags": [
"JavaEE",
"J2EE",
"CDI",
"Arquillian"
],
"cities": [
"Paris"
]
} {
"since": "2013-06-03",
"name": "Antonio Goncalves",
"bio": "Java EE et que Java EE - Freelance - Co-créateur de @ParisJUG @DevoxxFR",
"picture": "http://agoncal.files.wordpress.com/2013/05/antonio2013square2562.jpg",
"websites": [
{
"name": "Web",
"url": "http://antoniogoncalves.org/"
},
{
"name": "Book",
"url": "http://antoniogoncalves.org/category/books/"
}
],
"location": "Paris intramuros... mais je veux bien faire un effort",
"sessions": [
{
"title": "Nouveautés Java EE",
"abstract": "Slides, code et discussion autour des nouveautés Java EE 7 et Java EE 6.",
"tags": [
"JavaEE",
"J2EE",
"CDI",
"Arquillian"
],
"lang": [
"fr"
]
},
{
"title": "Migrer vos vielles applications",
"abstract": "Vous faites du J2EE 1.4 ou du Spring et vous voulez migrer tout ou partie de vos applications, discutons-en.",
"tags": [
"JavaEE",
"J2EE",
"CDI",
"Arquillian"
],
"lang": [
"fr"
]
},
{
"title": "CDI",
"abstract": "Découvrez comment faire de l'injection, de l'interception, de la décoration ou de l'évenementiel avec Java EE",
"tags": [
"JavaEE",
"J2EE",
"CDI",
"Arquillian"
],
"lang": [
"fr"
]
},
{
"title": "Arquillian",
"abstract": "Vous connaissez les tests unitaires et les Mocks, découvrez Arquillian pour les tests d'intégration in-container.",
"tags": [
"JavaEE",
"J2EE",
"CDI",
"Arquillian"
],
"lang": [
"fr"
]
},
{
"title": "Une application Java EE 6 en moins d’une heure",
"abstract": "Live coding d'une application web avec JBoss Forge, Aquillian, DeltaSpike et déployée dans JBoss, GlassFish et TomEE.",
"tags": [
"JavaEE",
"J2EE",
"CDI",
"Arquillian"
],
"lang": [
"fr"
]
}
],
"cities": [
"Paris"
],
"contact": {
"twitter": "agoncal",
"mail": "antonio.goncalves@gmail.com"
}
} I'm still wondering though if it makes sense to keep I'd like to replace "cities": [
{"city":"Paris", "range": "30km"},
{"city":"Nantes", "range": "100km"}
] Or something similar. Why this? Because at index time, the city is enriched with real geo coordinates. It would then be easy to propose talks to companies based on their address (geo_loc). So if my company is based in La Défense ( WDYT? I'll probably initialize the data with a range of 20km for example. People would be able to adapt it later. |
Cities: I tend to agree. But I wouldn't be the only one to decide. |
Hey! You are not alone! I'm here as well :) Let's wait for tomorrow and I'll add it to the PR unless someone objects in the meantime. |
@dadoonet I like the idea, it will allow to create new cool services in the future, like "display only baggers near me". |
Hehe. You read my mind :) |
In brownbaglunch/bblfr_data#66 we meant to change the model. This PR (WIP) takes care of the change. It will help to make progress in baby steps: * update the model: brownbaglunch/bblfr_data#66 * update the website to the new model: this PR * rewrite the website using elasticsearch as the search backend Note that to test it, you need to generate `../bblfr_data/rewrite/baggers-new.js`. Then uncomment the `local` part and comment the `remote` part.
9efb0b9
to
8e4d59f
Compare
8e4d59f
to
4cd40e7
Compare
It helps to rewrite/reformat and make consistent the `baggers.js` file. ```sh node rewrite/rewrite.js rewrite/rewrite.js ``` It will generate a file named `rewrite/baggers-new.js` which is git ignored. The script: * moves `tags` under each talk, which means that every speaker will have then to modify its talks if tags are incorrects * normalized the `name` by uppercasing each first letter and lowercasing the other letters. * normalized website titles. We check for `LinkedIn`, `GitHub`, `Podcast`, `Google+`, `Slideshare`, `Hopwork`, `Book`, `InfoQ` and `Viadeo`. Other titles are set to `Web` * contact is now an object which contains two fields: * `type`: facultative. No data mean `mail`. If no contact was provided, it fallbacks to `twitter`. * `url`: the email address is provided, the twitter handle otherwise For example, `Gregory Estrade` will be modified from: ```json { "since": "2015-09-24", "name": "Gregory Estrade", "bio": "Directeur R&D de Lyra-Network, software & hardware hacker, reverse-engineer, philosophe agile auto-proclamé. Ou Disruptive Innovation Lead Strategist, Instant Expert in Everything, ça dépend. Membre de l'association Silicium de préservation du patrimoine micro-informatique.", "picture": "http://torlus.github.io/hat_pro.png", "websites": [ { "title": "Home Page", "href": "http://lvt.tl/" }, { "title": "GitHub", "href": "https://github.com/Torlus" }, { "title": "Silicium", "href": "http://www.silicium.org/" } ], "twitter": "Torlus", "contact": "gregory.estrade@gmail.com", "mail": "gregory.estrade@gmail.com", "location": "Toulouse", "sessions": [ { "title": "Les nouveaux enjeux du paiement.", "summary": "Etat de l'art, sécurité, les moyens de paiement et leur avenir, les enjeux du click-and-mortar, SEPA, marketplaces." }, { "title": "IoT, software & hardware hacking, FPGA.", "summary": "Vous aimez bricoler, prototyper? Moi aussi. Invitez-moi pour de l'aide ou du conseil sur un sujet de votre choix." }, { "title": "Café philosophique, agilité, histoire de l'informatique.", "summary": "Ayant eu depuis 30 ans les mains sur un clavier (En commençant sur un TRS-80) et étant membre de l'association Silicium, je vous propose de deviser autour de tout ce qui fait l'actualité, et qui tend à montrer que quoi qu'on fasse, l'histoire vient souvent à se répéter." } ], "tags": [ "Software development", "Hardware hacking", "Optimisation", "Telecom & Réseau", "FPGA", "Philosophie", "Agilité" ], "cities": [ "Toulouse" ] } ``` to: ```json { "since": "2015-09-24", "name": "Gregory Estrade", "bio": "Directeur R&D de Lyra-Network, software & hardware hacker, reverse-engineer, philosophe agile auto-proclamé. Ou Disruptive Innovation Lead Strategist, Instant Expert in Everything, ça dépend. Membre de l'association Silicium de préservation du patrimoine micro-informatique.", "picture": "http://torlus.github.io/hat_pro.png", "websites": [ { "name": "Web", "url": "http://lvt.tl/" }, { "name": "GitHub", "url": "https://github.com/Torlus" }, { "name": "Web", "url": "http://www.silicium.org/" } ], "twitter": "Torlus", "location": "Toulouse", "sessions": [ { "title": "Les nouveaux enjeux du paiement.", "abstract": "Etat de l'art, sécurité, les moyens de paiement et leur avenir, les enjeux du click-and-mortar, SEPA, marketplaces.", "tags": [ "Software development", "Hardware hacking", "Optimisation", "Telecom & Réseau", "FPGA", "Philosophie", "Agilité" ] }, { "title": "IoT, software & hardware hacking, FPGA.", "abstract": "Vous aimez bricoler, prototyper? Moi aussi. Invitez-moi pour de l'aide ou du conseil sur un sujet de votre choix.", "tags": [ "Software development", "Hardware hacking", "Optimisation", "Telecom & Réseau", "FPGA", "Philosophie", "Agilité" ] }, { "title": "Café philosophique, agilité, histoire de l'informatique.", "abstract": "Ayant eu depuis 30 ans les mains sur un clavier (En commençant sur un TRS-80) et étant membre de l'association Silicium, je vous propose de deviser autour de tout ce qui fait l'actualité, et qui tend à montrer que quoi qu'on fasse, l'histoire vient souvent à se répéter.", "tags": [ "Software development", "Hardware hacking", "Optimisation", "Telecom & Réseau", "FPGA", "Philosophie", "Agilité" ] } ], "cities": [ "Toulouse" ], "contact": { "url": "gregory.estrade@gmail.com" } } ``` Related to brownbaglunch#65.
Will be easier then to add new people at the end of the list. Related to brownbaglunch#65.
Might be easier then to add new cities. Related to brownbaglunch#65.
After review, we finally voted to have `contact` field as: ```js "contact": { "mail": "my-email@dr.ess", "twitter": "@twitteraccount", "whatever": "..." } ```
4cd40e7
to
e50f24b
Compare
In brownbaglunch/bblfr_data#66 we meant to change the model. This PR (WIP) takes care of the change. It will help to make progress in baby steps: * update the model: brownbaglunch/bblfr_data#66 * update the website to the new model: this PR * rewrite the website using elasticsearch as the search backend Note that to test it, you need to generate `../bblfr_data/rewrite/baggers-new.js`. Then uncomment the `local` part and comment the `remote` part.
It helps to rewrite/reformat and make consistent the
baggers.js
file.It will generate a file named
rewrite/baggers-new.js
which is git ignored.The script:
baggers
byspeakers
tags
under each talk, which means that every speaker will have then to modify its talks if tags are incorrectsname
by uppercasing each first letter and lowercasing the other letters.LinkedIn
,GitHub
,Podcast
,Google+
,Slideshare
,Hopwork
,Book
,InfoQ
andViadeo
. Other titles are set toWeb
type
: facultative. No data meanmail
. If no contact was provided, it fallbacks totwitter
.url
: the email address is provided, the twitter handle otherwiseFor example,
Gregory Estrade
will be modified from:to:
Optimizations
The script also reorders:
since
date, older's firstname
Related to #65.