Now play within IFTTT Ecosystem
Agrawal, Shriyansh
Everything about the collective.ifttt add-on with a demonstration. It's a Plone add-on which enables any Plone site to play in the IFTTT (pronounced /ɪft/) ecosystem by allowing you to create IFTTT applets. This project was developed during Google Summer Of Code 2018.
 Welcome everybody, I am here to present the add-on which we have built this summer as a part of Google Summer of Code 2018. It's the presentation though its name is now play with ecosystem. The presentation is more about how can the plane, the plane can be integrated with other platforms all there like any social media platform or any web-based services. So the motivation to our project is to rule out all that, tire some manual jobs for site admins such as if there's a new item published on our site then tweet about it or make a Facebook post about it or such post or let's say if there is any event let's say this plane conference itself then we need to add it to our calendar or send notification, new notification to subscribers or the event host about the events or any such manual jobs which site admins have to go like if there's anything then do this or do that. So the motivation was really to automate this process so that if everything just triggered somewhere then automatically do all this related stuff and you don't have to worry about it. Like there's also one thing like if there's a content being edited then log all the user name and what they have changed on a spreadsheet so that you can go back and look who have changed what and all records. So the current solution for is Plone's content rules. As of now Plone content rules are the nearest solution to this but the problem with this is when you are trying to integrate with other social platforms you have to write additional scripts which can essentially expand the horizon of their triggering and their action and which is very cumbersome for the non-techy people who don't really know how to write scripts and basically we are trying to make it ease for all non-techy folks so that they can just go pop in use this, this click, this click and it's all done. So our add-on also have a very easy to use and flexible UI which I will show in a while. So in content rules there are three things that are trigger conditions and action. Trigger is something like if this happens somewhere then and all these conditions are satisfied for this content then do this action. And this is the in theory this is the line this is these three functionalities that we are again using in our add-on. So the solution that we are proposing is the add-on name our add-on name is known as collective.if it's under the collective repo it can be found there and if is essentially pronounced if it's IFTTTT and it's essentially pronounced as if. Let me take you through the if first. So if it is basically a free web-based service the acronym if itself stands to if this then that so if something happened here then do this all this stuff. For example let's say you got a new Instagram post or new upload then save it to your Dropbox automatically you don't have to do this manually or let's say you are nearby your home and you want to send a message to your friend or family that okay I have reached to this place then it will be send it automatically you don't have to do this. So these kind of stuff which if provide this kind of flexibility this that if provide and we essentially try here to integrate if with Plone so anything happen any trigger happened at Plone it itself be published or you know anything could be happened on all other social platforms it has plenty of social platforms as you can see there like each and every day if it is integrating new and new platforms it's not just social but all the health applications all the social all G-Suit applications everything is there. So this is about if let me take you through the add-on itself now a small demo of it as I said the add-on is available under the houd of collective organization this is the GitHub page of our add-on it has a well written documentation and yeah let's go through it. So the easiest way to know about and to be flexible with if it is using the Plone RSS feed. So RSS feed so basically to use let's say there is a new RSS on your website and you want it to be published somewhere else so just sign up for if make a new applet there is a whole bunch of documentation given on given here and you can also use if documentation it's also well very well written. So here is an example where I've used the Times of India RSS to create a Google spreadsheet so every time if there's a new news item has been published on their website it's all logged in my spreadsheet. So there's a demonstration of it like this it logs all the data like when it is being published what is the title what is the URL we are and everything like that. So this is just a basic example with RSS. Now let's see how can we use this to integrate it integrate inside integrate with Plone Sites. So the first step is to save the ift secret key so when you sign up for a sign up at ift websites you got a private ift secret key which you need to when you are you will get a secret key which is essentially needed when you are sending information to ift so that they could figure out is that a real person and is that the legit person for this event. So you can get the ift secret key easily there and there's a when you install our add on there's a new configuration available under the add on configuration called ift configuration and you can simply register your secret key there. Now as I said this whole add on is on top of the content rules so essentially every time you can go there on content rules and create a new ift event but to make it a more make it more easier to use for people we have created a bunch of content triggers which can be used in a Jiffy and you know and admins don't really know what's there underneath and what is content rule they don't have really they don't need to go through all of it. So let's have a look to it in theory we have created three triggers ift triggers in theory these triggers basically differ in what information are they sending to ift so essentially ift except three payloads the first two payloads of ift trigger are always the URL of the content and the title of the content and the third trigger is essentially what admins want to know so the first trigger that is ift content trigger send the description of the content that what has been what is the description of this content which has been changed. The second trigger essentially provide the name of the user who has changed that trigger and the third trigger essentially sends the date and time of the event. These triggers there's also an option of manage ift triggers so you can see what all triggers are available on that particular URL and you can easily delete or change this triggers at any time. So let me let me now demonstrate a simple if trigger on this news website I have already created a content trigger so let's say if a new news item has been published then the description along with title and URL of this content will be sent to my Slack channel where all the people enrolled for this site can see the new news. Let's have a demo to it. So as of now as you can see the state of this news is still private so we don't see any trigger to be happening but as soon as you make it publish yeah you got a successful trigger notification that it has been triggered and also you can see it has it has it is now showing in the Slack channel as well. So it's it's automated and there's no worry you can just all of all of the people who have signed up for that can see the new news item and for single content you can create as many triggers as you want so let's say you want to tweet about it you also want to make a Facebook post or you want to make it as a RSS or Slack everything can be created there's no limit how many triggers you want you can create or also if you want to log who has created so you can create different triggers with n number of possibilities. So this is a short demonstration to this similarly we have user trigger where information of the user who has changed the content will be recorded and a similar event trigger where the event of information with start date and time can be recorded this event is can actually be used to collaborate with calendars so that if there's a new event it will directly be added to your iOS calendar or Google calendar and a pop up will be there so it's yeah one another gem that we have integrated in this add-on is easy form integration so nowadays easy form is getting popular with blown five so you can actually add another if trigger here let's say you create a new easy form for let's say question survey or a question answer or a query query site a query page where people will get in they will add their about information like who are they what are their email information and stuff like that and they post their query and you then let's say you want to record all of this in a Google spreadsheet so while creating this this easy forms you have an option to define actions when the form itself gets submitted so under this you have an option for if trigger where you can configure that what all fields from the form itself you want to be the data from these fields you want to be triggered or you want to send to the if so that the data then itself be processed and recorded somewhere and used elsewhere so this is another gem that we have added to this add-on in the documentation documentation itself we have some working examples and app of applet and triggers so I have here I have created a yeah on my demo site I have created a Google spreadsheet example where the information of who who is who is who has made the changes to this particular content are is recorded yeah so this is pretty much about the add-on yeah at last as I said the this this triggering is all done like on the clone website the trigger event is handled by content rules and in here itself if you go to content rules you can actually change let's say because we want to be keep as simple as it for the admin so that they don't have to go under underhood and check whatever it is but if let's say tomorrow someone wants to then they can just go here all the content rules are available here all the content type information so you can actually check for the conditions of what content type it is or what workflow transitions are there all these conditions can still be made here so and under the option of add lock add action you have the if trigger option so if someone wants to play more with it they can just go here and do all those changes that they want yeah so this is all about it also we have a pi pi release to our package and it's available there the version 1.0.2 has been already released and we have also working demo environment to play with yeah this is the pi pi release that we have yeah so like this is the management interface of F2 website where you can just see what all applets are there and you can just turn it on and turn it off you will it is it's also highly integrated with your mobile mobile devices you can check notifications there itself and all the pop up will be there itself yeah so this was all about our add on the contributors to this add on our it's me Shreyaanj Sallie who is here then Kim neck who helped us with the demo site as I said this add on was developed on with the with Google summer off code 2018 timeline and yeah at last we have asko who helped me with all the technical stuff that we need to know off yeah so thank you any questions yeah yeah to have it automatically put to face, but I think that the idea is great. So I was curious, were there any limitations using the ecosystem that you get that would make it very well if not, this one would not be useful for us. Not as of now, we have not heard any of such thing. And also if it is integrating multiple applications of each and every day, so you could have endless number of possibilities to integrate with any kind of surf. Social media is one of the thing, otherwise on if it's self, people are using it to even turn off the lights and switch off or even, yeah. Even turning on your refrigerator, changing the temperature and stuff. So they're using it for all kind of stuff. The one thing which is, which still need enhancement in our add-on that as of now, Ploan can send triggers to it so that other websites can see what's happening here. But one thing which is lacking is if let's say tomorrow, some another website has a new, let's say, news and you want it to be published on the Ploan org itself, then it's not really accepting, but I've already created this issue on our GitHub page and it's like an enhancement, but it's like it would need another Google Summer of Code project, the whole timeline. It was not possible to integrate this stuff at this moment in this time period. We were only able to do this, yeah. Authentication is not really that easy with it. That's great that I have, that was my next question. What is this thing that you wanted? Yes, so this is exactly what you wanna know. Getting triggers from other websites or other platforms and perform some action on your website. This may even help to transfer data, like a whole bunch of data or just single set of lines or single set of things. Is there another thing that you can do? So the limitation is if only accept three payloads, so it's upon you, like the payload string is not limited, but it's just that three different payloads and they'd use these three different strings to publish on, they again have to give this particular strings to other platforms, so they should know of that what is it. So there's no limitation with the length of the string, but you only have three payloads with it. I guess the URL to that image is possible and then there's more processing to it maybe on the other platform or in the F itself because they are essentially sending the encoding stuff and not really this thing. So yeah, basically it would be string. So there's some more processing required, but most of the other platform itself have this processing styling and there's a lot of option on those platforms to accept what is coming in here. Yes, essentially everything is a string, right? It's when it's encoded, you got a string. It's just that you have to decode it and process to get the stuff on your page then. So there's some software that can compress that model project and decode that problem in 10 seconds and then accident and death. So thatTP has a good result and she hasieren the fewerues thereof. So far I have not seen any scheduling post. It's just that if this IFTTT is standing in between as soon as you send data to it, it will send the data in a nicely manner as it is accepted by the other platforms and then it has to be processed on the other platform. So I guess if there is a, I don't know, I have not seen any scheduling stuff but there is a possibility that if have some processing on them and settings you know that only after this time send it to the Facebook or Twitter or stuff like that. Yeah, yeah, on the on on the own itself there could be an option that published this on this time or yeah, or yeah, yeah, there is a possible way that on the phone itself you have a option of publication date right that when it should be published. So in the transition workflow transition itself as I show you in the demonstration until unless I make it published the trigger didn't happen and it was not posted on my Slack channel. So on the flown site itself you can configure the publication date or timing and on that particular moment the site will get up this content will be published and as soon as it is published it will be triggered to if then stuff goes on. Okay, take your time. Are you sure? Okay, anyone else have any question? Okay, sorry last line again. sir trail So, and actually, we just have to do the search each year or each year, or each year. Oh yeah, there is an option for LinkedIn connectivity. So, let's say you, the three payloads you are choosing a title, URL and the image content itself. And when you post it to if they forward it to the LinkedIn, maybe as a post, there is an option with LinkedIn itself. There are multiple applets already available. There you could just select one of these and use with your blog. So, all these content, basically these three payloads will be sent to if and if then process it to LinkedIn and it can be posted as well. You might have to look for their business model as of now, I don't really know. Any questions? Any other question? Thank you very much.
 Welcome everybody, I am here to present the add-on which we have built this summer as  a part of Google Summer of Code 2018.  It's the presentation though its name is now play with ecosystem.  The presentation is more about how can the plane, the plane can be integrated with other  platforms all there like any social media platform or any web-based services.  So the motivation to our project is to rule out all that, tire some manual jobs for site  admins such as if there's a new item published on our site then tweet about it or make a  Facebook post about it or such post or let's say if there is any event let's say this  plane conference itself then we need to add it to our calendar or send notification, new  notification to subscribers or the event host about the events or any such manual jobs which  site admins have to go like if there's anything then do this or do that.  So the motivation was really to automate this process so that if everything just triggered  somewhere then automatically do all this related stuff and you don't have to worry about it.  Like there's also one thing like if there's a content being edited then log all the user  name and what they have changed on a spreadsheet so that you can go back and look who have  changed what and all records.  So the current solution for is Plone's content rules.  As of now Plone content rules are the nearest solution to this but the problem with this  is when you are trying to integrate with other social platforms you have to write additional  scripts which can essentially expand the horizon of their triggering and their action and which  is very cumbersome for the non-techy people who don't really know how to write scripts  and basically we are trying to make it ease for all non-techy folks so that they can just  go pop in use this, this click, this click and it's all done.  So our add-on also have a very easy to use and flexible UI which I will show in a while.  So in content rules there are three things that are trigger conditions and action.  Trigger is something like if this happens somewhere then and all these conditions are  satisfied for this content then do this action.  And this is the in theory this is the line this is these three functionalities that we  are again using in our add-on.  So the solution that we are proposing is the add-on name our add-on name is known as collective.if  it's under the collective repo it can be found there and if is essentially pronounced if  it's IFTTTT and it's essentially pronounced as if.  Let me take you through the if first.  So if it is basically a free web-based service the acronym if itself stands to if this then  that so if something happened here then do this all this stuff.  For example let's say you got a new Instagram post or new upload then save it to your Dropbox  automatically you don't have to do this manually or let's say you are nearby your home and  you want to send a message to your friend or family that okay I have reached to this  place then it will be send it automatically you don't have to do this.  So these kind of stuff which if provide this kind of flexibility this that if provide and  we essentially try here to integrate if with Plone so anything happen any trigger happened  at Plone it itself be published or you know anything could be happened on all other social  platforms it has plenty of social platforms as you can see there like each and every day  if it is integrating new and new platforms it's not just social but all the health applications  all the social all G-Suit applications everything is there.  So this is about if let me take you through the add-on itself now a small demo of it as  I said the add-on is available under the houd of collective organization this is the GitHub  page of our add-on it has a well written documentation and yeah let's go through it.  So the easiest way to know about and to be flexible with if it is using the Plone RSS  feed.  So RSS feed so basically to use let's say there is a new RSS on your website and you  want it to be published somewhere else so just sign up for if make a new applet there  is a whole bunch of documentation given on given here and you can also use if documentation  it's also well very well written.  So here is an example where I've used the Times of India RSS to create a Google spreadsheet  so every time if there's a new news item has been published on their website it's all logged  in my spreadsheet.  So there's a demonstration of it like this it logs all the data like when it is being  published what is the title what is the URL we are and everything like that.  So this is just a basic example with RSS.  Now let's see how can we use this to integrate it integrate inside integrate with Plone Sites.  So the first step is to save the ift secret key so when you sign up for a sign up at ift  websites you got a private ift secret key which you need to when you are you will get  a secret key which is essentially needed when you are sending information to ift so that  they could figure out is that a real person and is that the legit person for this event.  So you can get the ift secret key easily there and there's a when you install our add on  there's a new configuration available under the add on configuration called ift configuration  and you can simply register your secret key there.  Now as I said this whole add on is on top of the content rules so essentially every  time you can go there on content rules and create a new ift event but to make it a more  make it more easier to use for people we have created a bunch of content triggers which can  be used in a Jiffy and you know and admins don't really know what's there underneath  and what is content rule they don't have really they don't need to go through all of it.  So let's have a look to it in theory we have created three triggers ift triggers in theory  these triggers basically differ in what information are they sending to ift so essentially ift  except three payloads the first two payloads of ift trigger are always the URL of the  content and the title of the content and the third trigger is essentially what admins  want to know so the first trigger that is ift content trigger send the description of  the content that what has been what is the description of this content which has been  changed.  The second trigger essentially provide the name of the user who has changed that trigger  and the third trigger essentially sends the date and time of the event.  These triggers there's also an option of manage ift triggers so you can see what all triggers  are available on that particular URL and you can easily delete or change this triggers  at any time.  So let me let me now demonstrate a simple if trigger on this news website I have already  created a content trigger so let's say if a new news item has been published then the  description along with title and URL of this content will be sent to my Slack channel where  all the people enrolled for this site can see the new news.  Let's have a demo to it.  So as of now as you can see the state of this news is still private so we don't see any  trigger to be happening but as soon as you make it publish yeah you got a successful  trigger notification that it has been triggered and also you can see it has it has it is now  showing in the Slack channel as well.  So it's it's automated and there's no worry you can just all of all of the people who  have signed up for that can see the new news item and for single content you can create  as many triggers as you want so let's say you want to tweet about it you also want to  make a Facebook post or you want to make it as a RSS or Slack everything can be created  there's no limit how many triggers you want you can create or also if you want to log  who has created so you can create different triggers with n number of possibilities.  So this is a short demonstration to this similarly we have user trigger where information  of the user who has changed the content will be recorded and a similar event trigger where  the event of information with start date and time can be recorded this event is can actually  be used to collaborate with calendars so that if there's a new event it will directly be  added to your iOS calendar or Google calendar and a pop up will be there so it's yeah one  another gem that we have integrated in this add-on is easy form integration so nowadays  easy form is getting popular with blown five so you can actually add another if trigger  here let's say you create a new easy form for let's say question survey or a question  answer or a query query site a query page where people will get in they will add their  about information like who are they what are their email information and stuff like that  and they post their query and you then let's say you want to record all of this in a Google  spreadsheet so while creating this this easy forms you have an option to define actions  when the form itself gets submitted so under this you have an option for if trigger where  you can configure that what all fields from the form itself you want to be the data from  these fields you want to be triggered or you want to send to the if so that the data then  itself be processed and recorded somewhere and used elsewhere so this is another gem  that we have added to this add-on in the documentation documentation itself we have some working examples  and app of applet and triggers so I have here I have created a yeah on my demo site I have  created a Google spreadsheet example where the information of who who is who is who has  made the changes to this particular content are is recorded yeah so this is pretty much  about the add-on yeah at last as I said the this this triggering is all done like on the  clone website the trigger event is handled by content rules and in here itself if you  go to content rules you can actually change let's say because we want to be keep as simple  as it for the admin so that they don't have to go under underhood and check whatever it  is but if let's say tomorrow someone wants to then they can just go here all the content  rules are available here all the content type information so you can actually check for  the conditions of what content type it is or what workflow transitions are there all  these conditions can still be made here so and under the option of add lock add action  you have the if trigger option so if someone wants to play more with it they can just go  here and do all those changes that they want yeah so this is all about it also we have  a pi pi release to our package and it's available there the version 1.0.2 has been already released  and we have also working demo environment to play with yeah this is the pi pi release  that we have yeah so like this is the management interface of F2 website where you can just  see what all applets are there and you can just turn it on and turn it off you will  it is it's also highly integrated with your mobile mobile devices you can check notifications  there itself and all the pop up will be there itself yeah so this was all about our add  on the contributors to this add on our it's me Shreyaanj Sallie who is here then Kim neck  who helped us with the demo site as I said this add on was developed on with the with  Google summer off code 2018 timeline and yeah at last we have asko who helped me with all  the technical stuff that we need to know off yeah so thank you any questions  yeah yeah  to have it automatically put to face,  but I think that the idea is great.  So I was curious, were there any limitations  using the ecosystem that you get  that would make it very well if not,  this one would not be useful for us.  Not as of now, we have not heard any of such thing.  And also if it is integrating multiple applications  of each and every day, so you could have  endless number of possibilities to integrate  with any kind of surf.  Social media is one of the thing,  otherwise on if it's self, people are using it  to even turn off the lights and switch off or even, yeah.  Even turning on your refrigerator,  changing the temperature and stuff.  So they're using it for all kind of stuff.  The one thing which is, which still need  enhancement in our add-on that as of now,  Ploan can send triggers to it so that other websites  can see what's happening here.  But one thing which is lacking is if let's say tomorrow,  some another website has a new, let's say, news  and you want it to be published on the Ploan org itself,  then it's not really accepting,  but I've already created this issue on our GitHub page  and it's like an enhancement, but it's like it  would need another Google Summer of Code project,  the whole timeline.  It was not possible to integrate this stuff  at this moment in this time period.  We were only able to do this, yeah.  Authentication is not really that easy with it.  That's great that I have, that was my next question.  What is this thing that you wanted?  Yes, so this is exactly what you wanna know.  Getting triggers from other websites or other platforms  and perform some action on your website.  This may even help to transfer data,  like a whole bunch of data or just single set of lines  or single set of things.  Is there another thing that you can do?  So the limitation is if only accept three payloads,  so it's upon you, like the payload string is not limited,  but it's just that three different payloads  and they'd use these three different strings  to publish on, they again have to give this particular  strings to other platforms, so they should know  of that what is it.  So there's no limitation with the length of the string,  but you only have three payloads with it.  I guess the URL to that image is possible  and then there's more processing to it  maybe on the other platform or in the F itself  because they are essentially sending the encoding stuff  and not really this thing.  So yeah, basically it would be string.  So there's some more processing required,  but most of the other platform itself  have this processing styling  and there's a lot of option on those platforms  to accept what is coming in here.  Yes, essentially everything is a string, right?  It's when it's encoded, you got a string.  It's just that you have to decode it  and process to get the stuff on your page then.  So there's some software  that can compress that model project  and decode that problem  in 10 seconds and then accident and death.  So thatTP has a good result  and she hasieren the fewerues thereof.  So far I have not seen any scheduling post.  It's just that if this IFTTT is standing in between as soon as you send data to it, it  will send the data in a nicely manner as it is accepted by the other platforms and then  it has to be processed on the other platform.  So I guess if there is a, I don't know, I have not seen any scheduling stuff but there  is a possibility that if have some processing on them and settings you know that only after  this time send it to the Facebook or Twitter or stuff like that.  Yeah, yeah, on the on on the own itself there could be an option that published this on  this time or yeah, or yeah, yeah, there is a possible way that on the phone itself you  have a option of publication date right that when it should be published.  So in the transition workflow transition itself as I show you in the demonstration until unless  I make it published the trigger didn't happen and it was not posted on my Slack channel.  So on the flown site itself you can configure the publication date or timing and on that  particular moment the site will get up this content will be published and as soon as it  is published it will be triggered to if then stuff goes on.  Okay, take your time.  Are you sure?  Okay, anyone else have any question?  Okay, sorry last line again.  sir trail  So, and actually, we just have to do the search each year or each year, or each year.  Oh yeah, there is an option for LinkedIn connectivity.  So, let's say you, the three payloads you are choosing a title, URL and the image content itself.  And when you post it to if they forward it to the LinkedIn, maybe as a post, there is an option with LinkedIn itself.  There are multiple applets already available.  There you could just select one of these and use with your blog.  So, all these content, basically these three payloads will be sent to if and if then process it to LinkedIn and it can be posted as well.  You might have to look for their business model as of now, I don't really know.  Any questions?  Any other question? Thank you very much.
2018_Day1_Now_play_within_IFTTT_Ecosystem_by_Shriy_7lt8XYiWRGs_0_83.png 2018_Day1_Now_play_within_IFTTT_Ecosystem_by_Shriy_7lt8XYiWRGs_84_5423.png 2018_Day1_Now_play_within_IFTTT_Ecosystem_by_Shriy_7lt8XYiWRGs_5424_7415.png 2018_Day1_Now_play_within_IFTTT_Ecosystem_by_Shriy_7lt8XYiWRGs_7416_7811.png 2018_Day1_Now_play_within_IFTTT_Ecosystem_by_Shriy_7lt8XYiWRGs_7812_7967.png 2018_Day1_Now_play_within_IFTTT_Ecosystem_by_Shriy_7lt8XYiWRGs_7968_8603.png 2018_Day1_Now_play_within_IFTTT_Ecosystem_by_Shriy_7lt8XYiWRGs_8604_8891.png 2018_Day1_Now_play_within_IFTTT_Ecosystem_by_Shriy_7lt8XYiWRGs_8892_8963.png 2018_Day1_Now_play_within_IFTTT_Ecosystem_by_Shriy_7lt8XYiWRGs_8964_9875.png 2018_Day1_Now_play_within_IFTTT_Ecosystem_by_Shriy_7lt8XYiWRGs_9876_10583.png 2018_Day1_Now_play_within_IFTTT_Ecosystem_by_Shriy_7lt8XYiWRGs_10584_10643.png 2018_Day1_Now_play_within_IFTTT_Ecosystem_by_Shriy_7lt8XYiWRGs_10644_10847.png 2018_Day1_Now_play_within_IFTTT_Ecosystem_by_Shriy_7lt8XYiWRGs_10848_11855.png 2018_Day1_Now_play_within_IFTTT_Ecosystem_by_Shriy_7lt8XYiWRGs_11856_11927.png 2018_Day1_Now_play_within_IFTTT_Ecosystem_by_Shriy_7lt8XYiWRGs_11928_13667.png 2018_Day1_Now_play_within_IFTTT_Ecosystem_by_Shriy_7lt8XYiWRGs_13668_15395.png 2018_Day1_Now_play_within_IFTTT_Ecosystem_by_Shriy_7lt8XYiWRGs_15396_16547.png 2018_Day1_Now_play_within_IFTTT_Ecosystem_by_Shriy_7lt8XYiWRGs_16548_16679.png 2018_Day1_Now_play_within_IFTTT_Ecosystem_by_Shriy_7lt8XYiWRGs_16680_16823.png 2018_Day1_Now_play_within_IFTTT_Ecosystem_by_Shriy_7lt8XYiWRGs_16824_17531.png 2018_Day1_Now_play_within_IFTTT_Ecosystem_by_Shriy_7lt8XYiWRGs_17532_18563.png 2018_Day1_Now_play_within_IFTTT_Ecosystem_by_Shriy_7lt8XYiWRGs_18564_19511.png 2018_Day1_Now_play_within_IFTTT_Ecosystem_by_Shriy_7lt8XYiWRGs_19512_19559.png 2018_Day1_Now_play_within_IFTTT_Ecosystem_by_Shriy_7lt8XYiWRGs_19560_19607.png 2018_Day1_Now_play_within_IFTTT_Ecosystem_by_Shriy_7lt8XYiWRGs_19608_19751.png 2018_Day1_Now_play_within_IFTTT_Ecosystem_by_Shriy_7lt8XYiWRGs_19752_20135.png 2018_Day1_Now_play_within_IFTTT_Ecosystem_by_Shriy_7lt8XYiWRGs_20136_20963.png 2018_Day1_Now_play_within_IFTTT_Ecosystem_by_Shriy_7lt8XYiWRGs_20964_21071.png 2018_Day1_Now_play_within_IFTTT_Ecosystem_by_Shriy_7lt8XYiWRGs_21072_21863.png 2018_Day1_Now_play_within_IFTTT_Ecosystem_by_Shriy_7lt8XYiWRGs_21864_22139.png 2018_Day1_Now_play_within_IFTTT_Ecosystem_by_Shriy_7lt8XYiWRGs_22140_22643.png 2018_Day1_Now_play_within_IFTTT_Ecosystem_by_Shriy_7lt8XYiWRGs_22644_22979.png 2018_Day1_Now_play_within_IFTTT_Ecosystem_by_Shriy_7lt8XYiWRGs_22980_23027.png 2018_Day1_Now_play_within_IFTTT_Ecosystem_by_Shriy_7lt8XYiWRGs_23028_26663.png 2018_Day1_Now_play_within_IFTTT_Ecosystem_by_Shriy_7lt8XYiWRGs_26664_26711.png 2018_Day1_Now_play_within_IFTTT_Ecosystem_by_Shriy_7lt8XYiWRGs_26712_40115.png 2018_Day1_Now_play_within_IFTTT_Ecosystem_by_Shriy_7lt8XYiWRGs_40116_40202.png
Welcome everybody, I am here to present the add-on which we have built this summer as a part of Google Summer of Code 2018. It's the presentation though its name is now play with ecosystem. The presentation is more about how can the plane, the plane can be integrated with other platforms all there like any social media platform or any web-based services. So the motivation to our project is to rule out all that, tire some manual jobs for site admins such as if there's a new item published on our site then tweet about it or make a Facebook post about it or such post or let's say if there is any event let's say this plane conference itself then we need to add it to our calendar or send notification, new notification to subscribers or the event host about the events or any such manual jobs which site admins have to go like if there's anything then do this or do that. So the motivation was really to automate this process so that if everything just triggered somewhere then automatically do all this related stuff and you don't have to worry about it. Like there's also one thing like if there's a content being edited then log all the user name and what they have changed on a spreadsheet so that you can go back and look who have changed what and all records. So the current solution for is Plone's content rules. As of now Plone content rules are the nearest solution to this but the problem with this is when you are trying to integrate with other social platforms you have to write additional scripts which can essentially expand the horizon of their triggering and their action and which is very cumbersome for the non-techy people who don't really know how to write scripts and basically we are trying to make it ease for all non-techy folks so that they can just go pop in use this, this click, this click and it's all done. So our add-on also have a very easy to use and flexible UI which I will show in a while. So in content rules there are three things that are trigger conditions and action. Trigger is something like if this happens somewhere then and all these conditions are satisfied for this content then do this action. And this is the in theory this is the line this is these three functionalities that we are again using in our add-on. So the solution that we are proposing is the add-on name our add-on name is known as collective.if it's under the collective repo it can be found there and if is essentially pronounced if it's IFTTTT and it's essentially pronounced as if. Let me take you through the if first. So if it is basically a free web-based service the acronym if itself stands to if this then that so if something happened here then do this all this stuff. For example let's say you got a new Instagram post or new upload then save it to your Dropbox automatically you don't have to do this manually or let's say you are nearby your home and you want to send a message to your friend or family that okay I have reached to this place then it will be send it automatically you don't have to do this. So these kind of stuff which if provide this kind of flexibility this that if provide and we essentially try here to integrate if with Plone so anything happen any trigger happened at Plone it itself be published or you know anything could be happened on all other social platforms it has plenty of social platforms as you can see there like each and every day if it is integrating new and new platforms it's not just social but all the health applications all the social all G-Suit applications everything is there. So this is about if let me take you through the add-on itself now a small demo of it as I said the add-on is available under the houd of collective organization this is the GitHub page of our add-on it has a well written documentation and yeah let's go through it. So the easiest way to know about and to be flexible with if it is using the Plone RSS feed. So RSS feed so basically to use let's say there is a new RSS on your website and you want it to be published somewhere else so just sign up for if make a new applet there is a whole bunch of documentation given on given here and you can also use if documentation it's also well very well written. So here is an example where I've used the Times of India RSS to create a Google spreadsheet so every time if there's a new news item has been published on their website it's all logged in my spreadsheet. So there's a demonstration of it like this it logs all the data like when it is being published what is the title what is the URL we are and everything like that. So this is just a basic example with RSS. Now let's see how can we use this to integrate it integrate inside integrate with Plone Sites. So the first step is to save the ift secret key so when you sign up for a sign up at ift websites you got a private ift secret key which you need to when you are you will get a secret key which is essentially needed when you are sending information to ift so that they could figure out is that a real person and is that the legit person for this event. So you can get the ift secret key easily there and there's a when you install our add on there's a new configuration available under the add on configuration called ift configuration and you can simply register your secret key there. Now as I said this whole add on is on top of the content rules so essentially every time you can go there on content rules and create a new ift event but to make it a more make it more easier to use for people we have created a bunch of content triggers which can be used in a Jiffy and you know and admins don't really know what's there underneath and what is content rule they don't have really they don't need to go through all of it. So let's have a look to it in theory we have created three triggers ift triggers in theory these triggers basically differ in what information are they sending to ift so essentially ift except three payloads the first two payloads of ift trigger are always the URL of the content and the title of the content and the third trigger is essentially what admins want to know so the first trigger that is ift content trigger send the description of the content that what has been what is the description of this content which has been changed. The second trigger essentially provide the name of the user who has changed that trigger and the third trigger essentially sends the date and time of the event. These triggers there's also an option of manage ift triggers so you can see what all triggers are available on that particular URL and you can easily delete or change this triggers at any time. So let me let me now demonstrate a simple if trigger on this news website I have already created a content trigger so let's say if a new news item has been published then the description along with title and URL of this content will be sent to my Slack channel where all the people enrolled for this site can see the new news. Let's have a demo to it. So as of now as you can see the state of this news is still private so we don't see any trigger to be happening but as soon as you make it publish yeah you got a successful trigger notification that it has been triggered and also you can see it has it has it is now showing in the Slack channel as well. So it's it's automated and there's no worry you can just all of all of the people who have signed up for that can see the new news item and for single content you can create as many triggers as you want so let's say you want to tweet about it you also want to make a Facebook post or you want to make it as a RSS or Slack everything can be created there's no limit how many triggers you want you can create or also if you want to log who has created so you can create different triggers with n number of possibilities. So this is a short demonstration to this similarly we have user trigger where information of the user who has changed the content will be recorded and a similar event trigger where the event of information with start date and time can be recorded this event is can actually be used to collaborate with calendars so that if there's a new event it will directly be added to your iOS calendar or Google calendar and a pop up will be there so it's yeah one another gem that we have integrated in this add-on is easy form integration so nowadays easy form is getting popular with blown five so you can actually add another if trigger here let's say you create a new easy form for let's say question survey or a question answer or a query query site a query page where people will get in they will add their about information like who are they what are their email information and stuff like that and they post their query and you then let's say you want to record all of this in a Google spreadsheet so while creating this this easy forms you have an option to define actions when the form itself gets submitted so under this you have an option for if trigger where you can configure that what all fields from the form itself you want to be the data from these fields you want to be triggered or you want to send to the if so that the data then itself be processed and recorded somewhere and used elsewhere so this is another gem that we have added to this add-on in the documentation documentation itself we have some working examples and app of applet and triggers so I have here I have created a yeah on my demo site I have created a Google spreadsheet example where the information of who who is who is who has made the changes to this particular content are is recorded yeah so this is pretty much about the add-on yeah at last as I said the this this triggering is all done like on the clone website the trigger event is handled by content rules and in here itself if you go to content rules you can actually change let's say because we want to be keep as simple as it for the admin so that they don't have to go under underhood and check whatever it is but if let's say tomorrow someone wants to then they can just go here all the content rules are available here all the content type information so you can actually check for the conditions of what content type it is or what workflow transitions are there all these conditions can still be made here so and under the option of add lock add action you have the if trigger option so if someone wants to play more with it they can just go here and do all those changes that they want yeah so this is all about it also we have a pi pi release to our package and it's available there the version 1.0.2 has been already released and we have also working demo environment to play with yeah this is the pi pi release that we have yeah so like this is the management interface of F2 website where you can just see what all applets are there and you can just turn it on and turn it off you will it is it's also highly integrated with your mobile mobile devices you can check notifications there itself and all the pop up will be there itself yeah so this was all about our add on the contributors to this add on our it's me Shreyaanj Sallie who is here then Kim neck who helped us with the demo site as I said this add on was developed on with the with Google summer off code 2018 timeline and yeah at last we have asko who helped me with all the technical stuff that we need to know off yeah so thank you any questions yeah yeah to have it automatically put to face, but I think that the idea is great. So I was curious, were there any limitations using the ecosystem that you get that would make it very well if not, this one would not be useful for us. Not as of now, we have not heard any of such thing. And also if it is integrating multiple applications of each and every day, so you could have endless number of possibilities to integrate with any kind of surf. Social media is one of the thing, otherwise on if it's self, people are using it to even turn off the lights and switch off or even, yeah. Even turning on your refrigerator, changing the temperature and stuff. So they're using it for all kind of stuff. The one thing which is, which still need enhancement in our add-on that as of now, Ploan can send triggers to it so that other websites can see what's happening here. But one thing which is lacking is if let's say tomorrow, some another website has a new, let's say, news and you want it to be published on the Ploan org itself, then it's not really accepting, but I've already created this issue on our GitHub page and it's like an enhancement, but it's like it would need another Google Summer of Code project, the whole timeline. It was not possible to integrate this stuff at this moment in this time period. We were only able to do this, yeah. Authentication is not really that easy with it. That's great that I have, that was my next question. What is this thing that you wanted? Yes, so this is exactly what you wanna know. Getting triggers from other websites or other platforms and perform some action on your website. This may even help to transfer data, like a whole bunch of data or just single set of lines or single set of things. Is there another thing that you can do? So the limitation is if only accept three payloads, so it's upon you, like the payload string is not limited, but it's just that three different payloads and they'd use these three different strings to publish on, they again have to give this particular strings to other platforms, so they should know of that what is it. So there's no limitation with the length of the string, but you only have three payloads with it. I guess the URL to that image is possible and then there's more processing to it maybe on the other platform or in the F itself because they are essentially sending the encoding stuff and not really this thing. So yeah, basically it would be string. So there's some more processing required, but most of the other platform itself have this processing styling and there's a lot of option on those platforms to accept what is coming in here. Yes, essentially everything is a string, right? It's when it's encoded, you got a string. It's just that you have to decode it and process to get the stuff on your page then. So there's some software that can compress that model project and decode that problem in 10 seconds and then accident and death. So thatTP has a good result and she hasieren the fewerues thereof. So far I have not seen any scheduling post. It's just that if this IFTTT is standing in between as soon as you send data to it, it will send the data in a nicely manner as it is accepted by the other platforms and then it has to be processed on the other platform. So I guess if there is a, I don't know, I have not seen any scheduling stuff but there is a possibility that if have some processing on them and settings you know that only after this time send it to the Facebook or Twitter or stuff like that. Yeah, yeah, on the on on the own itself there could be an option that published this on this time or yeah, or yeah, yeah, there is a possible way that on the phone itself you have a option of publication date right that when it should be published. So in the transition workflow transition itself as I show you in the demonstration until unless I make it published the trigger didn't happen and it was not posted on my Slack channel. So on the flown site itself you can configure the publication date or timing and on that particular moment the site will get up this content will be published and as soon as it is published it will be triggered to if then stuff goes on. Okay, take your time. Are you sure? Okay, anyone else have any question? Okay, sorry last line again. sir trail So, and actually, we just have to do the search each year or each year, or each year. Oh yeah, there is an option for LinkedIn connectivity. So, let's say you, the three payloads you are choosing a title, URL and the image content itself. And when you post it to if they forward it to the LinkedIn, maybe as a post, there is an option with LinkedIn itself. There are multiple applets already available. There you could just select one of these and use with your blog. So, all these content, basically these three payloads will be sent to if and if then process it to LinkedIn and it can be posted as well. You might have to look for their business model as of now, I don't really know. Any questions? Any other question? Thank you very much.
add-on which we have built this summer as a part of Google Summer of Code 2018. It's the the event host about the events or any such working demo environment to play with yeah this with the demo site as I said this add on was workflow transition itself as I show you in the