Week 4 & 5 @wikidata…fortnight of Experimentation

Time’s just flying away ! As days melt into weeks and weeks slip into months, I already have reached the mid-term of my OPW internship. Something hard to believe !

Starting off with some amazing tasks for Week 6, I would like to take you into past two weeks of my work…..a period full of experimentation. Brace up !

Week 4 started off with the work on the social media calendar for July, 2014. Editing images for events in calendar, to include attribution has become a quick task now. The iterative process I follow for adding each event in the calendar is:

while(! Is_Calendar_complete) {
For each month {
For each date {
Search for a significant event for the day;
Log the event and related post/tweet message into calendar;
Search related Wikidata item;
Edit the item for improvement(if needed);
Integrate it to the event;
Search related image and edit for author attribution;
Log image into calendar;
}
}
}

Next, I proceeded with resolving the Copyright issues for the Wikidata Headers.  All I did as part of it is in my previous post. Also, I explored some available facebook APIs online as part of my study for creating a script to scan the online Wikidata profiles for interest generating topics and statistics.

Week 5 was a lot of activity. I firstly, as predefined, completed the social media calendar for August, 2014. Along the way, I witnessed a contradiction on Wikipedia pertaining to the date of birth of John Logie Baird and commented on the talk page.

Next, a task assigned was to make some plan to help pushing Wikidata items t0 Showcase status. So, I started a spreadsheet to keep track of prospective Showcase items. It lists items with the Showcase status of their associated Wikidata page. This can be used to track items and post/tweet/blog about them to attract contributors interested to help them ‘Showcase’. You can have a look at first of such use here.

Hey! Did I mention I run a facebook group for ‘Wikidata outreach’ targeted to college youth? Yes I do. It’s Wikidata Creds…title suggested by one of its members 🙂
So, I regularly post about Wikidata stuff there as well, besides my weekly tasks. Do render your feedback if you pass by!

While Wiki Loves Pride 2014 goes all around the world, Wikidata extends its warm support to the initiative as well. A LGBT Task force was created by the community members. I and Helen readily added ourselves to be a part of it 🙂 … and I added it to the Status updates of Wikidata for the week.

The experimentation I referred to is concentrated here…I created my first script ! 🙂
I was lurking around my media calendar wondering if I could automate the reminders to my mentor for posting from the calendar for each event logged there. Just a bit of Googling and I got a great reference. What next ! In an hour I was ready with my own script:

function checkReminders() {
var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
SpreadsheetApp.setActiveSheet(spreadsheet.getSheets()[0]);
var sheet = spreadsheet.getActiveSheet();
var lastRow = sheet.getLastRow();
var startRow = 2;

// grab column 7 (the 'Days left' column)
var range = sheet.getRange(2,7,lastRow-startRow+1,1);
var numRows = range.getNumRows();
var days_left_values = range.getValues();

// Store the 'Special Occurrence' column
range = sheet.getRange(2, 3, lastRow-startRow+1, 1);
var event_info_values = range.getValues();

var range_post = sheet.getRange(2,4,lastRow-startRow+1,1);
var event_post_msg = range_post.getValues();

var range_image = sheet.getRange(2,5,lastRow-startRow+1,1);
var event_image = range_image.getValues();

var warning_count = 0;
var msg = "Hey Lydia :)\n";
msg = msg + "This is Anjali's Automated Email Reminder Script !\n\n\n";
msg = msg + "Event Details (for today):\n\n";

// Loop over the days left values
for (var i = 0; i <= numRows-1; i++) {
var days_left = days_left_values[i][0];
var event_name = event_info_values[i][0];
var event_msg = event_post_msg[i][0];
var image = event_image[i][0];

if( event_name != "" && days_left == 0) {
// if it's a non-empty event for today, send reminder
msg = msg + "Event: \'" + event_name +"\'";
msg += "\n\nMessage:\n" + event_msg;

if(image != "") {
msg += "\n\nImage: "+image;
}
msg += "\n\nThanks";
warning_count++;
}
}

if(warning_count) {
MailApp.sendEmail("sharma.anjali3110@gmail.com,Lydia.Pintscher@wikimedia.de",
"Reminder from Social Media Calendar", msg);
}
};

As for now, the script is integrated into my social media calendar and my mentor Lydia gets email reminders for each day which has an event due.
Feeling great to experience how simple and awesome the technology can be ! 🙂

 

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s