Git Product home page Git Product logo

ckm-cgspace-mass-tweeter's People

Contributors

oguya avatar tsega avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar  avatar

Forkers

tsega oguya

ckm-cgspace-mass-tweeter's Issues

Add '@' mentions and remove hashtag search auto complete

Add '@' mentions to top level communities, to work similar to hashtags.

Remove the hashtag search auto complete feature since it's a bit confusing. Mentions have also been included so people should be able to search using hashtags or mentions.

Better Items selection

Right now selection is tightly coupled with the state of checkboxes in the UI and refreshing a page or navigating to another page clears the selection.

Ideally, however they should not be cleared unless the user clears them. Selecting an items should set values of a field in that document. e.g. isSelected: true | false.

This implementation will not need the use of checkboxes and would get rid of the clicking bug on iOS as well. Related to #21

Include HashTags

Now that the items to import can be expanded to include related information, we need to hashtag each item with the abbreviated name of it's top level community. DSpace REST API ReadMe

Structure of an expanded CGSpace item:

Request

https://cgspace.cgiar.org/rest/items/?format=json&limit=1&expand=all

Response

{
  "id":17471,
  "name":"Community conservancies and payments for wildlife conservation (PWC) as a coping strategy under different conservancy institutional arrangements",
  "handle":"10568/16610",
  "type":"item",
  "link":"/RESTapi/items/17471",
  "expand":[],
  "lastModified":"2013-04-10 08:14:03.038",
  "parentCollection": {
    "id":3,
    "name":"ILRI presentations",
    "handle":"10568/53",
    "type":"collection",
    "link":"/RESTapi/collections/3",
    "expand":["parentCommunityList","parentCommunity","items","license","logo","all"],
    "logo":null,
    "parentCommunity":null,
    "parentCommunityList":[],
    "items":[],
    "license":null,
    "copyrightText":"",
    "introductoryText":"<table border=\"0\"><tr>\r\n<td><img align=\"left\" src=\"https://www.ilri.org/images/Iconrss2.png\"></img></td>\r\n<td><a href=\"https://feeds.feedburner.com/IlriPresentations\" target=\"_blank\">Subscribe to RSS Feed</a></td></tr> \r\n<tr><td><img align=\"left\" src=\"https://www.ilri.org/images/email.jpg\"></img></td><td><a href=\"https://feedburner.google.com/fb/a/mailverify?uri=IlriPresentations&amp;loc=en_US\">Subscribe to email alerts</a>\r\n</td></tr></table>\r\n<p></p>\r\n<form style=\"border:1px solid #ccc;padding:3px;text-align:center;\" action=\"https://feedburner.google.com/fb/a/mailverify\" method=\"post\" target=\"popupwindow\" onsubmit=\"window.open('https://feedburner.google.com/fb/a/mailverify?uri=IlriPresentations', 'popupwindow', 'scrollbars=yes,width=550,height=520');return true\"><p>Enter your email address:</p><p><input type=\"text\" style=\"width:140px\" name=\"email\"/></p><input type=\"hidden\" value=\"IlriPresentations\" name=\"uri\"/><input type=\"hidden\" name=\"loc\" value=\"en_US\"/><input type=\"submit\" value=\"Subscribe\" /></form>",
    "shortDescription":"",
    "sidebarText":"",
    "numberItems":831
  },
  "parentCollectionList":[
    {
      "id":3,
      "name":"ILRI presentations",
      "handle":"10568/53",
      "type":"collection",
      "link":"/RESTapi/collections/3",
      "expand":["parentCommunityList","parentCommunity","items","license","logo","all"],
      "logo":null,
      "parentCommunity":null,
      "parentCommunityList":[],
      "items":[],
      "license":null,
      "copyrightText":"",
      "introductoryText":"<table border=\"0\"><tr>\r\n<td><img align=\"left\" src=\"https://www.ilri.org/images/Iconrss2.png\"></img></td>\r\n<td><a href=\"https://feeds.feedburner.com/IlriPresentations\" target=\"_blank\">Subscribe to RSS Feed</a></td></tr> \r\n<tr><td><img align=\"left\" src=\"https://www.ilri.org/images/email.jpg\"></img></td><td><a href=\"https://feedburner.google.com/fb/a/mailverify?uri=IlriPresentations&amp;loc=en_US\">Subscribe to email alerts</a>\r\n</td></tr></table>\r\n<p></p>\r\n<form style=\"border:1px solid #ccc;padding:3px;text-align:center;\" action=\"https://feedburner.google.com/fb/a/mailverify\" method=\"post\" target=\"popupwindow\" onsubmit=\"window.open('https://feedburner.google.com/fb/a/mailverify?uri=IlriPresentations', 'popupwindow', 'scrollbars=yes,width=550,height=520');return true\"><p>Enter your email address:</p><p><input type=\"text\" style=\"width:140px\" name=\"email\"/></p><input type=\"hidden\" value=\"IlriPresentations\" name=\"uri\"/><input type=\"hidden\" name=\"loc\" value=\"en_US\"/><input type=\"submit\" value=\"Subscribe\" /></form>",
      "shortDescription":"",
      "sidebarText":"",
      "numberItems":831
    },
    {
      "id":510,
      "name":"Livelihood diversifying potential of livestock based carbon sequestration in pastoral systems in Africa",
      "handle":"10568/16578",
      "type":"collection",
      "link":"/RESTapi/collections/510",
      "expand":["parentCommunityList","parentCommunity","items","license","logo","all"],
      "logo":null,
      "parentCommunity":null,
      "parentCommunityList":[],
      "items":[],
      "license":null,
      "copyrightText":"",
      "introductoryText":"<p></p>\r\nPart of the Integrated Agricultural Production Systems for the Dry Areas program\r\n<p></p>",
      "shortDescription":"",
      "sidebarText":"",
      "numberItems":5
    }
  ],
  "parentCommunityList":[
    {
      "id":1,
      "name":"International Livestock Research Institute (ILRI)",
      "handle":"10568/1",
      "type":"community",
      "link":"/RESTapi/communities/1",
      "expand":["parentCommunity","collections","subCommunities","logo","all"],
      "logo":null,
      "parentCommunity":null,
      "copyrightText":"",
      "introductoryText":"Mahider is the name of the ILRI research publications and products repository. It is an index and repository of research outputs and publications produced or sponsored by ILRI (Visit our web site: <a href=\"https://www.ilri.org\" target=\"_blank\">https://www.ilri.org</a>)\r\n<br/>\r\nSee <a href=\"https://cgspace.cgiar.org/handle/10568/3/browse?type=dateissued&sort_by=2&order=DESC&rpp=50&etal=0&submit_browse=Update\">latest <b>journal articles</b> by ILRI staff</a> / <a href=\"https://cgspace.cgiar.org/handle/10568/1/browse?type=dateissued&sort_by=2&order=DESC&rpp=50&etal=0&submit_browse=Update\">latest <b>publications and outputs</b> by ILRI staff and projects</a><p></p>View outputs from: <ul>\r\n<li><a href=\"https://cgspace.cgiar.org/handle/10568/171\">Animal bioscience program</a> / <a href=\"https://cgspace.cgiar.org/handle/10568/171/browse?type=dateissued&sort_by=2&order=DESC&rpp=30\">Latest</a></li>\r\n<li><a href=\"https://cgspace.cgiar.org/handle/10568/27868\">Animal science for sustainable productivity program</a> / <a href=\"https://cgspace.cgiar.org/handle/10568/27868/browse?type=dateissued&sort_by=2&order=DESC&rpp=30\">Latest</a></li>\r\n<li><a href=\"https://cgspace.cgiar.org/handle/10568/178/\">Biosciences eastern and central Africa (BecA) ILRI Hub</a> / <a href=\"https://cgspace.cgiar.org/handle/10568/178/browse?type=dateissued&sort_by=2&order=DESC&rpp=30\">Latest</a></li>\r\n<li><a href=\"https://cgspace.cgiar.org/handle/10568/27867\">Feed and forages bioscience program</a> / <a href=\"https://cgspace.cgiar.org/handle/10568/27867/browse?type=dateissued&sort_by=2&order=DESC&rpp=30\">Latest</a></li>\r\n<li><a href=\"https://cgspace.cgiar.org/handle/10568/231\">Food safety and zoonoses program</a> / <a href=\"https://cgspace.cgiar.org/handle/10568/231/browse?type=dateissued&sort_by=2&order=DESC&rpp=30\">Latest</a></li>\r\n<li><a href=\"https://cgspace.cgiar.org/handle/10568/27869\">Livelihoods, gender and impact program</a> / <a href=\"https://cgspace.cgiar.org/handle/10568/27869/browse?type=dateissued&sort_by=2&order=DESC&rpp=30\">Latest</a></li>\r\n<li><a href=\"https://cgspace.cgiar.org/handle/10568/150\">Livestock systems and environment program</a> / <a href=\"https://cgspace.cgiar.org/handle/10568/150/browse?type=dateissued&sort_by=2&order=DESC&rpp=30\">Latest</a></li>\r\n<li><a href=\"https://cgspace.cgiar.org/handle/10568/230\">Policy, trade and value chains program</a> / <a href=\"https://cgspace.cgiar.org/handle/10568/230/browse?type=dateissued&sort_by=2&order=DESC&rpp=30\">Latest</a></li>\r\n<li><a href=\"https://cgspace.cgiar.org/handle/10568/32724\">Vaccine biosciences program</a> / <a href=\"https://cgspace.cgiar.org/handle/10568/32724/browse?type=dateissued&sort_by=2&order=DESC&rpp=30\">Latest</a></li>\r\n<p></p>\r\n<li><a href=\"https://cgspace.cgiar.org/handle/10568/110/\">Institutional planning and partnerships</a> / <a href=\"https://cgspace.cgiar.org/handle/10568/110/browse?type=dateissued&sort_by=2&order=DESC&rpp=30\">Latest</a></li>\r\n<li><a href=\"https://cgspace.cgiar.org/handle/10568/173\">Research methods group</a> / <a href=\"https://cgspace.cgiar.org/handle/10568/173/browse?type=dateissued&sort_by=2&order=DESC&rpp=30\">Latest</a></li>\r\n<p></p>\r\n<li><a href=\"https://cgspace.cgiar.org/handle/10568/113\">Capacity development unit</a>\r\n / <a href=\"https://cgspace.cgiar.org/handle/10568/113/browse?type=dateissued&sort_by=2&order=DESC&rpp=30\">Latest</a></li>\r\n<p></p>\r\n<li><a href=\"https://cgspace.cgiar.org/handle/10568/3112\">CGIAR Research Program on Livestock and Fish</a> / <a href=\"https://cgspace.cgiar.org/handle/10568/3112/browse?type=dateissued&sort_by=2&order=DESC&rpp=30\">Latest</a></li>\r\n<p></p>\r\n<li><a href=\"https://cgspace.cgiar.org/handle/10568/16498\">Africa RISING project</a> / <a href=\"https://cgspace.cgiar.org/handle/10568/16498/browse?type=dateissued&sort_by=2&order=DESC&rpp=30\">Latest</a></li>\r\n<li><a href=\"https://cgspace.cgiar.org/handle/10568/2347\">EADD project</a> / <a href=\"https://cgspace.cgiar.org/handle/10568/2347/browse?type=dateissued&sort_by=2&order=DESC&rpp=30\">Latest</a></li>\r\n<li><a href=\"https://cgspace.cgiar.org/handle/10568/25101\">LIVES project</a> / <a href=\"https://cgspace.cgiar.org/handle/10568/25101/browse?type=dateissued&sort_by=2&order=DESC&rpp=30\">Latest</a></li>\r\n<li><a href=\"https://cgspace.cgiar.org/handle/10568/2296\">NBDC project</a> / <a href=\"https://cgspace.cgiar.org/handle/10568/2296/browse?type=dateissued&sort_by=2&order=DESC&rpp=30\">Latest</a></li>\r\n</ul>\r\n<p> </p>\r\n\r\n<table border=\"0\"><tr>\r\n<td><img align=\"left\" src=\"https://ilri.org/images/Iconrss2.png\"></img></td>\r\n<td><a href=\"http://feeds.feedburner.com/ilrioutputs\" target=\"_blank\">Subscribe to RSS Feed</a></td></tr> \r\n<tr><td><img align=\"left\" src=\"https://ilri.org/images/email.jpg\"></img></td><td><a href=\"http://feedburner.google.com/fb/a/mailverify?uri=ilrioutputs&amp;loc=en_US\">Subscribe to email alerts</a>\r\n</td></tr></table>\r\n<p></p>\r\n<form style=\"border:1px solid #ccc;padding:3px;text-align:center;\" action=\"https://feedburner.google.com/fb/a/mailverify\" method=\"post\" target=\"popupwindow\" onsubmit=\"window.open('https://feedburner.google.com/fb/a/mailverify?uri=ilrioutputs', 'popupwindow', 'scrollbars=yes,width=550,height=520');return true\"><p>Enter your email address:</p><p><input type=\"text\" style=\"width:140px\" name=\"email\"/></p><input type=\"hidden\" value=\"ilrioutputs\" name=\"uri\"/><input type=\"hidden\" name=\"loc\" value=\"en_US\"/><input type=\"submit\" value=\"Subscribe\" /></form>",
      "shortDescription":"ILRI",
      "sidebarText":"",
      "countItems":17385,
      "subcommunities":[],
      "collections":[]
    },
    {
      "id":135,
      "name":"ILRI Projects",
      "handle":"10568/27629",
      "type":"community",
      "link":"/RESTapi/communities/135",
      "expand":["parentCommunity","collections","subCommunities","logo","all"],
      "logo":null,
      "parentCommunity":null,
      "copyrightText":"",
      "introductoryText":"",
      "shortDescription":"",
      "sidebarText":"",
      "countItems":2123,
      "subcommunities":[],
      "collections":[]
    },
    {
      "id":1,
      "name":"International Livestock Research Institute (ILRI)",
      "handle":"10568/1",
      "type":"community",
      "link":"/RESTapi/communities/1",
      "expand":["parentCommunity","collections","subCommunities","logo","all"],
      "logo":null,
      "parentCommunity":null,
      "copyrightText":"",
      "introductoryText":"Mahider is the name of the ILRI research publications and products repository. It is an index and repository of research outputs and publications produced or sponsored by ILRI (Visit our web site: <a href=\"https://www.ilri.org\" target=\"_blank\">https://www.ilri.org</a>)\r\n<br/>\r\nSee <a href=\"https://cgspace.cgiar.org/handle/10568/3/browse?type=dateissued&sort_by=2&order=DESC&rpp=50&etal=0&submit_browse=Update\">latest <b>journal articles</b> by ILRI staff</a> / <a href=\"https://cgspace.cgiar.org/handle/10568/1/browse?type=dateissued&sort_by=2&order=DESC&rpp=50&etal=0&submit_browse=Update\">latest <b>publications and outputs</b> by ILRI staff and projects</a><p></p>View outputs from: <ul>\r\n<li><a href=\"https://cgspace.cgiar.org/handle/10568/171\">Animal bioscience program</a> / <a href=\"https://cgspace.cgiar.org/handle/10568/171/browse?type=dateissued&sort_by=2&order=DESC&rpp=30\">Latest</a></li>\r\n<li><a href=\"https://cgspace.cgiar.org/handle/10568/27868\">Animal science for sustainable productivity program</a> / <a href=\"https://cgspace.cgiar.org/handle/10568/27868/browse?type=dateissued&sort_by=2&order=DESC&rpp=30\">Latest</a></li>\r\n<li><a href=\"https://cgspace.cgiar.org/handle/10568/178/\">Biosciences eastern and central Africa (BecA) ILRI Hub</a> / <a href=\"https://cgspace.cgiar.org/handle/10568/178/browse?type=dateissued&sort_by=2&order=DESC&rpp=30\">Latest</a></li>\r\n<li><a href=\"https://cgspace.cgiar.org/handle/10568/27867\">Feed and forages bioscience program</a> / <a href=\"https://cgspace.cgiar.org/handle/10568/27867/browse?type=dateissued&sort_by=2&order=DESC&rpp=30\">Latest</a></li>\r\n<li><a href=\"https://cgspace.cgiar.org/handle/10568/231\">Food safety and zoonoses program</a> / <a href=\"https://cgspace.cgiar.org/handle/10568/231/browse?type=dateissued&sort_by=2&order=DESC&rpp=30\">Latest</a></li>\r\n<li><a href=\"https://cgspace.cgiar.org/handle/10568/27869\">Livelihoods, gender and impact program</a> / <a href=\"https://cgspace.cgiar.org/handle/10568/27869/browse?type=dateissued&sort_by=2&order=DESC&rpp=30\">Latest</a></li>\r\n<li><a href=\"https://cgspace.cgiar.org/handle/10568/150\">Livestock systems and environment program</a> / <a href=\"https://cgspace.cgiar.org/handle/10568/150/browse?type=dateissued&sort_by=2&order=DESC&rpp=30\">Latest</a></li>\r\n<li><a href=\"https://cgspace.cgiar.org/handle/10568/230\">Policy, trade and value chains program</a> / <a href=\"https://cgspace.cgiar.org/handle/10568/230/browse?type=dateissued&sort_by=2&order=DESC&rpp=30\">Latest</a></li>\r\n<li><a href=\"https://cgspace.cgiar.org/handle/10568/32724\">Vaccine biosciences program</a> / <a href=\"https://cgspace.cgiar.org/handle/10568/32724/browse?type=dateissued&sort_by=2&order=DESC&rpp=30\">Latest</a></li>\r\n<p></p>\r\n<li><a href=\"https://cgspace.cgiar.org/handle/10568/110/\">Institutional planning and partnerships</a> / <a href=\"https://cgspace.cgiar.org/handle/10568/110/browse?type=dateissued&sort_by=2&order=DESC&rpp=30\">Latest</a></li>\r\n<li><a href=\"https://cgspace.cgiar.org/handle/10568/173\">Research methods group</a> / <a href=\"https://cgspace.cgiar.org/handle/10568/173/browse?type=dateissued&sort_by=2&order=DESC&rpp=30\">Latest</a></li>\r\n<p></p>\r\n<li><a href=\"https://cgspace.cgiar.org/handle/10568/113\">Capacity development unit</a>\r\n / <a href=\"https://cgspace.cgiar.org/handle/10568/113/browse?type=dateissued&sort_by=2&order=DESC&rpp=30\">Latest</a></li>\r\n<p></p>\r\n<li><a href=\"https://cgspace.cgiar.org/handle/10568/3112\">CGIAR Research Program on Livestock and Fish</a> / <a href=\"https://cgspace.cgiar.org/handle/10568/3112/browse?type=dateissued&sort_by=2&order=DESC&rpp=30\">Latest</a></li>\r\n<p></p>\r\n<li><a href=\"https://cgspace.cgiar.org/handle/10568/16498\">Africa RISING project</a> / <a href=\"https://cgspace.cgiar.org/handle/10568/16498/browse?type=dateissued&sort_by=2&order=DESC&rpp=30\">Latest</a></li>\r\n<li><a href=\"https://cgspace.cgiar.org/handle/10568/2347\">EADD project</a> / <a href=\"https://cgspace.cgiar.org/handle/10568/2347/browse?type=dateissued&sort_by=2&order=DESC&rpp=30\">Latest</a></li>\r\n<li><a href=\"https://cgspace.cgiar.org/handle/10568/25101\">LIVES project</a> / <a href=\"https://cgspace.cgiar.org/handle/10568/25101/browse?type=dateissued&sort_by=2&order=DESC&rpp=30\">Latest</a></li>\r\n<li><a href=\"https://cgspace.cgiar.org/handle/10568/2296\">NBDC project</a> / <a href=\"https://cgspace.cgiar.org/handle/10568/2296/browse?type=dateissued&sort_by=2&order=DESC&rpp=30\">Latest</a></li>\r\n</ul>\r\n<p> </p>\r\n\r\n<table border=\"0\"><tr>\r\n<td><img align=\"left\" src=\"https://ilri.org/images/Iconrss2.png\"></img></td>\r\n<td><a href=\"http://feeds.feedburner.com/ilrioutputs\" target=\"_blank\">Subscribe to RSS Feed</a></td></tr> \r\n<tr><td><img align=\"left\" src=\"https://ilri.org/images/email.jpg\"></img></td><td><a href=\"http://feedburner.google.com/fb/a/mailverify?uri=ilrioutputs&amp;loc=en_US\">Subscribe to email alerts</a>\r\n</td></tr></table>\r\n<p></p>\r\n<form style=\"border:1px solid #ccc;padding:3px;text-align:center;\" action=\"https://feedburner.google.com/fb/a/mailverify\" method=\"post\" target=\"popupwindow\" onsubmit=\"window.open('https://feedburner.google.com/fb/a/mailverify?uri=ilrioutputs', 'popupwindow', 'scrollbars=yes,width=550,height=520');return true\"><p>Enter your email address:</p><p><input type=\"text\" style=\"width:140px\" name=\"email\"/></p><input type=\"hidden\" value=\"ilrioutputs\" name=\"uri\"/><input type=\"hidden\" name=\"loc\" value=\"en_US\"/><input type=\"submit\" value=\"Subscribe\" /></form>",
      "shortDescription":"ILRI",
      "sidebarText":"",
      "countItems":17385,
      "subcommunities":[],
      "collections":[]
    }
  ],
  "metadata":[
    {
      "key":"dc.contributor.author",
      "value":"Birner, R.",
      "language":null
    },
    {
      "key":"dc.contributor.author",
      "value":"Osano, P.",
      "language":null
    },
    {
      "key":"dc.date.accessioned",
      "value":"2012-03-11T10:33:16Z",
      "language":null
    },
    {
      "key":"dc.date.available",
      "value":"2012-03-11T10:33:16Z",
      "language":null
    },
    {
      "key":"dc.date.issued",
      "value":"2012-02-15",
      "language":null
    },
    {
      "key":"dc.identifier.citation",
      "value":"Birner, R. and Osano, P. 2012. Community conservancies and payments for wildlife conservation (PWC) as a coping strategy under different conservancy institutional arrangements. Presented at the Workshop on Enabling Livestock Based Economies in Kenya to Adapt to Climate Change: A Review of PES from Wildlife Tourism as a Climate Change Adaptation Option, ILRI, Nairobi, 15 February 2012. Nairobi, Kenya: ILRI.",
      "language":"en_US"
    },
    {
      "key":"dc.identifier.uri",
      "value":"http://hdl.handle.net/10568/16610",
      "language":null
    },
    {
      "key":"dc.language.iso",
      "value":"en",
      "language":"en_US"
    },
    {
      "key":"dc.publisher",
      "value":"ILRI",
      "language":"en_US"
    },
    {
      "key":"dc.subject",
      "value":"CLIMATIC CHANGE",
      "language":"en_US"
    },
    {
      "key":"dc.subject",
      "value":"LIVESTOCK",
      "language":"en_US"
    },
    {
      "key":"dc.subject",
      "value":"WILDLIFE",
      "language":"en_US"
    },
    {
      "key":"dc.title",
      "value":"Community conservancies and payments for wildlife conservation (PWC) as a coping strategy under different conservancy institutional arrangements",
      "language":"en_US"
    },
    {
      "key":"dc.type.output",
      "value":"Presentation",
      "language":"en_US"
    },
    {
      "key":"dc.identifier.url",
      "value":"http://www.slideshare.net/ILRI/community-conservancies-and-payments-for-wildlife-conservation-pwc-as-a-coping-strategy-under-different-conservancy-institutional-arrangements",
      "language":"en_US"
    },
    {
      "key":"dc.isubject.ilrisubject",
      "value":"CLIMATE CHANGE",
      "language":"en_US"
    },
    {
      "key":"dc.isubject.ilrisubject",
      "value":"ENVIRONMENT",
      "language":"en_US"
    },
    {
      "key":"dc.isubject.ilrisubject",
      "value":"LIVESTOCK",
      "language":"en_US"
    },
    {
      "key":"dc.isubject.ilrisubject",
      "value":"WILDLIFE",
      "language":"en_US"
    },
    {
      "key":"dc.rplace.region",
      "value":"AFRICA",
      "language":null
    },
    {
      "key":"dc.rplace.region",
      "value":"EAST AFRICA",
      "language":null
    },
    {
      "key":"dc.cplace.country",
      "value":"KENYA",
      "language":"en_US"
    },
    {
      "key":"dc.identifier.status",
      "value":"Open Access",
      "language":"en_US"
      },{
        "key":"dc.crsubject.crpsubject",
        "value":"DRYLAND SYSTEMS",
        "language":"en_US"
      }
    ],
    "bitstreams":[
      {
        "id":12826,
        "name":"PWC.jpg",
        "handle":null,
        "type":"bitstream",
        "link":"/RESTapi/bitstreams/12826",
        "expand":["parent","policies","all"],
        "bundleName":"ORIGINAL",
        "description":"thumbnail",
        "format":"JPEG",
        "mimeType":"image/jpeg",
        "sizeBytes":25943,
        "parentObject":null,
        "retrieveLink":"/bitstreams/12826/retrieve",
        "checkSum":{
          "value":"8fa54decd8e9355be8d92f23fa79aef4",
          "checkSumAlgorithm":"MD5"
        },
        "sequenceId":1,
        "policies":null
      },
      {
        "id":12827,
        "name":"license.txt",
        "handle":null,
        "type":"bitstream",
        "link":"/RESTapi/bitstreams/12827",
        "expand":["parent","policies","all"],
        "bundleName":"LICENSE",
        "description":null,
        "format":"License",
        "mimeType":"text/plain; charset=utf-8",
        "sizeBytes":1797,
        "parentObject":null,
        "retrieveLink":"/bitstreams/12827/retrieve",
        "checkSum":{
          "value":"f04c89519d6216f3b66fce7669876e6c","checkSumAlgorithm":"MD5"
        },
        "sequenceId":2,
        "policies":null
      },
      {
        "id":12956,
        "name":"PWC.jpg.jpg",
        "handle":null,
        "type":"bitstream",
        "link":"/RESTapi/bitstreams/12956",
        "expand":["parent","policies","all"],
        "bundleName":"THUMBNAIL",
        "description":"Generated Thumbnail",
        "format":"JPEG",
        "mimeType":"image/jpeg",
        "sizeBytes":2893,
        "parentObject":null,
        "retrieveLink":"/bitstreams/12956/retrieve",
        "checkSum":{
          "value":"80ef1340d34e06cf6bd2e32ab233deb0",
          "checkSumAlgorithm":"MD5"
        },
        "sequenceId":3,
        "policies":null
      }
    ],
    "archived":"true",
    "withdrawn":"false"
  }

Configurable skipping

At the moment the app is skipping the total number of items in the database in its REST API query, because we don't know how CGSpace sorts the items, the should be an option to skip records as specified by the user.

Get the latest items

The system should provide a way to get latest items from CGSpace. I'm considering to use id or handle. The easiest to implement would be looking up the latest ID in the database and start querying from there.

Synchronised Sorting

The sorting options in the advanced form and the table headers should be synchronised.

Simplify handle field of documents

The handle field in the database should only hold the last number of the url as a number. This would greatly improve the sorting/searching functionality of the app.

Add credits

Add credits information about who developed the system and its purpose.

Fetch a specific number of CGSpace items

The app should have a form that allows the user to specify the number of CGSpace items he/she wants to import. This is besides the default 100 items the app automatically imports whenever it's started.

Show already tweeted items

It plausible to show already tweeted items, since one can tweet and re-tweet items. This should also show the list of previous tweeters; meaning the tweet history needs to be kept n a separate collection, in an embedded array field. Related to #4

Daily Cron Job

A daily cron job that fetches the latest items and tweets the ones with the DOI's.

Search imported entries

The listing should be searchable, and it should allow the user to specify which specific field to search for.

Better forms on mobile

  1. All forms should have submit and clear buttons for better UX on mobile.
  2. Ripple effect on Android is not working.

Convert the lastModified field to date

Convert the lastModified field of the imported items from string to date, and make sure when items are imported the lastModified fields are parsed as dates.

Get latest items using handle

The get latest items functionality should work with the handles instead of the ids of the items. There an issue with just looking at the id's for items to determine if they are new or not since documents/items could exist in the system for a long time and made public at a later time.

For the CGSpace point of view these items are the recently added items. From the internal database id's point of view, however, these item were created a while ago and not really the "recently added items". So to keep things consistent, latest items definition should mean the items that have the latest handles.

Timed Tweets

The App should be able to calculate the number of tweets it can do based on the Twitter API usage limitations.

It should:

  • calculate how many Tweets one can do per time interval
  • should indicate how many items have been tweeted during the day
  • how many more items the user can select to tweet

Notifications should be per user

Both importing items and tweeting notifications should be sent to the person doing the activity or else the messages stack up unnecessarily.

Better logo for App

Better logo for mobile app, to also be used consistently in the web version, i.e. for brand area of the navigation and the favicon.

Move Settings

Move settings forms to the settings page. This includes:

  1. Set API Endpoint
  2. Specify Items to Skip
  3. Fetch Items

Increase limit of max number of items to import

After testing the app live it seems like the import has a pretty decent performance. So I can increase the max limit to import from 100 to a 1000. Meaning all I need to do is some 50 imports to get all the data.

Remove handle URL from database

Remove the common handle URL from the database and treat the handle as an integer. The main purpose for this is to have better sorting using the handle. When displaying the handle on the system the url will be presented but in the background the only part of the the URL we need is the last number. Related to #57

handle_number

Get DOI data for Items

Get the DOI information for items when importing. This would be used to give priority in tweeting items.

More user friendly tweet button

The tweet button should scroll with the page to make it more easier for users to tweet select items without scrolling back to the top of the page.

Filter items not tweeted

Similar to filtering items with only DOI, it would be convenient to filter out items that have not been tweeted yet.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.