16
Terms of Reference (ToR) for Development and Maintenance of Practical Answers website Circulation date: 31 July 2020 Closing date: 14 August 2020 Practical Action Panipokhari, Lazimpat, Kathmandu PHONE: +977-1-4413452/4423639/640 FAX: +977-1-4423632 E-mail: [email protected] July 2020

Terms of Reference (ToR) for Development and Maintenance ... PA Wordpress... · All the legally registered software development company/agency/firms based in Kathmandu, Nepal with

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Terms of Reference (ToR) for Development and Maintenance ... PA Wordpress... · All the legally registered software development company/agency/firms based in Kathmandu, Nepal with

Terms of Reference (ToR)

for

Development and Maintenance of Practical Answers website

Circulation date: 31 July 2020

Closing date: 14 August 2020

Practical Action Panipokhari, Lazimpat, Kathmandu PHONE: +977-1-4413452/4423639/640 FAX: +977-1-4423632 E-mail: [email protected]

July 2020

Page 2: Terms of Reference (ToR) for Development and Maintenance ... PA Wordpress... · All the legally registered software development company/agency/firms based in Kathmandu, Nepal with

1. BACKGROUND Practical Action is a global change-making group that consists of a UK registered charity with community projects in Africa, Asia and Latin America, an independent publishing company and a technical consulting service. It combines these specialisms to multiply its impact and help shape a world that works better for everyone. In Nepal, Practical Action is focused on putting ingenious ideas into work to contribute to poverty reduction and sustainable wellbeing through working in three expertise change areas: Energy that transforms; Farming that works and Resilience that protects. Practical Answers’ website (https://answers.practicalaction.org/) serves around hundred and fifty thousand users from different corners of the globe each year and it is business critical for us to maintain a high up time on the site. Most of our contents are targeted towards development practitioners and farmers who often live in areas where internet penetration is at a bare minimum. So, the website should be light enough to be accessible by those target users. 1.1 Overview Since early days, Practical Action has always been at the forefront and advocate when it comes to knowledge sharing and with the Practical Answers website we’ve served thousands of small scale innovative technologies to millions of people around the globe. 1.2 Our key audience Our key audiences include a range of national and international stakeholders: ranging from community mobilizers to local-level implementers, and national policymakers and planners. We want to reach out to research groups, academics, private sectors, social enterprises and solution-minded youths.

2. OBJECTIVES

The overall objective of this assignment is to study the current implementation done by another developer and to implement the solution Practical Answers team need in order to make the system fit for as per our requirement. The specific objectives of this fellowship are to:

a. Study and make necessary recommendations on the best implementation plan b. To ensure that the Practical Answers website is ready for launch as soon as possible. c. Maintain the website to ensure 100% up time with minimal bugs.

3. SCOPE OF THE WORK

The work entails detailed study of the current system design, to come up with the best implementation plan and to develop the required features. The scope of this work is only limited to providing technical assistance to maintain the WordPress site(s) and does not cover any work on the current Joomla website.

Page 3: Terms of Reference (ToR) for Development and Maintenance ... PA Wordpress... · All the legally registered software development company/agency/firms based in Kathmandu, Nepal with

4. RESULTS AND DELIVERABLES

The consultant will:

a. Coordinate with Digital Manager for feature tasks, updates and bugs on a daily basis b. Send in the quote (with time distribution) for the proposed task for approval c. Develop requested modules/extensions on time and within proposed budget after

approval by the Digital Manager d. Thoroughly test and upload the recently developed modules/features to the

development site for approval testing e. Upload the approved module to the live server f. Use version control system for ease of production management g. Apply security fixes to the site whenever needed h. Provide expert feedback and comments on proposed and existing modules/features.

The followings are the expected deliverables from this work are:

a. Initially, we expect the developers to provide us with their initial findings about the current implementation and way forward (in a document).

b. Fully functional website with all the recent codes uploaded to the hosting service provided by Practical Answers digital team.

5. AREAS OF EXPERTISE AND COMPETENCIES

All the legally registered software development company/agency/firms based in Kathmandu, Nepal with proven track record in developing software for international firms and donors are highly encouraged to apply. Below are few selection criteria for the firm:

a. At least 5 years of experience working with Wordpress and specifically experience working with Plugins with project examples and links to website/web app.

b. A team of at least 8 Software developers, 2 Project Managers 1 System Analyst, and 2 Testers who can deliver and test complex systems and logic.

c. Ability to work on tight deadline projects / feature development. d. Simple but effective project management methodology e. Developers should be able to understand complex code logic with efficient debugging

skills f. Experience in working with a version control system g. Experience in in working with Linux servers h. Proficiency in English language is a must. i. Past experience in working with DSpace repository system will be an added

advantage

For this project and beyond, we will need a team of highly skilled developers, project managers, designers, testers and system analysts.

Apart from the above, submission of the following will be taken into account during the selection process:

a. A brief technical proposal along with timeline; b. A copy of Company Registration certificate; c. A copy of VAT certificate (obligatory); and

Page 4: Terms of Reference (ToR) for Development and Maintenance ... PA Wordpress... · All the legally registered software development company/agency/firms based in Kathmandu, Nepal with

d. A copy of tax clearance certificate for last fiscal year from Inland Revenue Office e. Hourly rates: List of specialist resources like Developers, Testers, System Analysts,

Project managers, Sr. Developers and Designers and their respective hourly rates

which will be used as a baseline for future feature development tasks and evaluating

market standards.

6. ROLE OF PRACTICAL ACTION

The main responsibility of Practical Action Nepal Office is to:

a. Providing details of any change requirement on the servers. b. Payment for the hosting solution c. Provide appropriate access to the hosting servers d. Provide updated codes from our latest code base along with a copy of recent database

and currently implemented repository connector.

7. DURATION

All development works should be completed within 60 days from the start of the project. The assignment is expected to start in the fourth week of August and end within third week of October2020. The Consultancy is scheduled to last for approximately two months.

8. FEES

The initial project work (i.e: study of current implementation and developing required modules) should be not exceed a closed budget of NPR 400,000.00 (In words: Four hundred thousand Nepali Rupees only) inclusive of applicable taxes. All applicable taxes will be deducted at source. Payment will be done in two instalments at the end of each phase:

First instalment of 40% after completion of Phase 1: Initial phase where the selected agency will study the current implementation and put up a suggested way forward.

Final instalment of 60% after completion of Phase 2: Complete build where we have the system as per our requirement as termed out in Annex 2.

9. EVALUATION OF PROPOSAL

All received proposals shall be reviewed following criteria based on consultant's similar working experience and knowledge in software development and competitiveness of the proposed hourly rates. All rights of approval of proposal remain with Practical Action and its decision will be considered final. 10. INVITATION OF PROPOSAL

Practical Action Nepal Office requests interested company/agency/firms (registered in VAT) to submit (i) letter of interest (1 page), (ii) a brief technical proposal along with approach & proposed work plan and CVs of professionals to be involved in the assignment and (iii) a financial proposal with proposed person-days and hourly rates (of different positions) as per

Page 5: Terms of Reference (ToR) for Development and Maintenance ... PA Wordpress... · All the legally registered software development company/agency/firms based in Kathmandu, Nepal with

the scope of work to the following address or through email mentioned below on or before 14 August, 2020 within 17:00 hrs.

Practical Action House No. 1114, Panipokhari, Lazimpat PO Box 15135, Kathmandu, Nepal Phone: 977-1-4413452/4423639/640 E-mail: [email protected] Practical Action believes in and follows fair and competitive process to recruit

the consultant in all of its assignment to ensure quality assurance.

Page 6: Terms of Reference (ToR) for Development and Maintenance ... PA Wordpress... · All the legally registered software development company/agency/firms based in Kathmandu, Nepal with

Annex 1 HUBCONNECTOR TECHNICAL NOTES

PRACTICAL ACTION HUBCONNECTOR

SUMMARY

The HubConnector is a console application which harvests document metadata using OAI from Infohub (https://infohub.practicalaction.org/) and creates/updates/removes custom post types in the WordPress-based Practical Action website (https://www.practicalaction.org/) to enable documents in Infohub to be visible and browsable on the public-facing website.

The HubConnector is hosted as a WebJob (technically 2 separate WebJobs – one to do a full update, one to do an update of additions/changes since last run) in an App Service in Azure.

SCHEDULE

A full update – which removes documents from the WordPress site as well as changing or adding and modified/additional documents – runs once a day at 02:00 UTC. A partial update – which only modifies or adds documents changed since the last time a partial update was run, and does not delete any removed documents – runs hourly between the hours of 09:00 and 17:00 UTC.

The scheduling is managed by the Azure App Service. The scheduling configuration is set automatically by the deployment process at Freestyle (using the “schedule” variable in the Octopus Deploy project, and JSON file variable replacement).

A full synchronisation of 3500 documents takes approximately 2 hours to complete.

URLS

The HubConnector relies on knowing the base URLs of the two systems. For the WordPress site, authentication credentials are also required.

The URL to the OAI endpoint in Infohub is set as a connectionString with the name “InfoHub” in the .config file or in the App Service. If omitted, it defaults to https://infohub.practicalaction.org/oai/request

The URL and credentials for the WordPress site is set as a connectionString with the name “WordPress” in the .config file or the App Service. An error will occur if this is not set. The URL should be in the format https://<username>:<password>@<domain>/wp-json/

SETS

The HubConnector can support syncing of all of the documents found in Infohub, but this is not recommended due to the sheer number of documents. Under normal operations, only the documents belonging to specific sets are synchronised. At the time of writing this is about 3500 documents.

Configuration of the sets to sync can be accomplished using the “Sets” appSetting in the accompanying .config file, or can be overridden by configuring the appSetting on the App Service.

Page 7: Terms of Reference (ToR) for Development and Maintenance ... PA Wordpress... · All the legally registered software development company/agency/firms based in Kathmandu, Nepal with

DATABASE

Unlike the predecessor to the HubConnector, there is no intermediary database. This is to reduce hosting requirements and improve reliability.

WORDPRESS CUSTOM POST EXAMPLE

The HubConnector sends a JSON payload similar to the following to the custom posts endpoint on WordPress:

{

“dspace_asset_id”:24898,

“dspace_asset_status”:”publish”,

“dspace_asset_title”:”Annex 2: Template for assessing the influence-relevance matrix of market actors”,

“dspace_asset_oai_identifier”:”oai:infohub.practicalaction.org:11283/604124″,

“dspace_asset_abstract”:”Step 2 of the energy markets roadmap”,

“dspace_asset_uri”:”http://hdl.handle.net/11283/604124″,

“dspace_asset_language”:[

{

“tag”:”English”

}

],

“dspace_asset_issue_date”:”2016″,

“dspace_asset_publisher”:null,

“dspace_asset_downloads”:[

{

“mimetype”:”application/pdf”,

“size”:”17 kB”,

Page 8: Terms of Reference (ToR) for Development and Maintenance ... PA Wordpress... · All the legally registered software development company/agency/firms based in Kathmandu, Nepal with

“name”:”Annex 2 Template for assessing the influence-relevance matrix of market actors.pdf”,

“download”:”https://infohub.practicalaction.org/bitstream/11283/604124/1/Annex 2 Template for assessing the influence-relevance matrix of market actors.pdf”,

“image”:”https://infohub.practicalaction.org/bitstream/11283/604124/4/Annex 2 Template for assessing the influence-relevance matrix of market actors.pdf.jpg”,

“description”:null

}

],

“dspace_asset_authors”:[

{

“name”:”Ewan Bloomfield”,

“link”:”https://infohub.practicalaction.org/browse?type=author&value=Ewan+Bloomfield”

}

],

“dspace_asset_collections”:[

{

“tag”:”Policy and Practice”

},

{

“tag”:”Energy Markets Roadmap”

}

],

“dspace_asset_subjects”:[

{

“tag”:”Energy”

Page 9: Terms of Reference (ToR) for Development and Maintenance ... PA Wordpress... · All the legally registered software development company/agency/firms based in Kathmandu, Nepal with

}

],

“dspace_asset_rights”:[

{

“right”:”Practical Action”

}

],

“dspace_asset_externallinks”:[

],

“dspace_asset_urls”:[

],

“dspace_asset_format”:[

{

“tag”:”Toolkit”

}

]

}

Page 10: Terms of Reference (ToR) for Development and Maintenance ... PA Wordpress... · All the legally registered software development company/agency/firms based in Kathmandu, Nepal with

Annex 2: Requirements

There is a plugin that has already been developed by our developers in the UK. We want to

use the same codebase and make additions to it based on our requirements.

Through a cron job, the system is able to run update synchronization every few hours and

full sync once every day and it might be running community and update sync every few

hours.

NOTE: Synchronization is the process of updating the data we have on our website with the latest

updates that have been made on our dspace repository. As our website and the repo are two

separate entities so we use the synchronization process to update the website with the latest

metadata from our repository.

Backend features already available

Resources

o All Resources

Search

Edit (just a detail view option)

Filter (simple)

Delete

o Collections

List of all the communities/collections

Shows number of items within this area

Edit

o Change Name

o Change Slug

o Change/Add Description

Delete

o Subjects

List of subjects

Number of times that keywords is used

Edit

o Slug

o Description

o Name

Delete

o Format

List of format

Number of items

Edit

o Name

o Slug

o Description

Page 11: Terms of Reference (ToR) for Development and Maintenance ... PA Wordpress... · All the legally registered software development company/agency/firms based in Kathmandu, Nepal with

Delete

o Language

List of languages

Number of items

Edit

o Name

o Slug

o Description

Delete

New features requirements

Thematic pages

o We should be able to create thematic pages for different themes manually and

assign resources/items/documents by selecting the right

community/collection. There seems to be a similar functionality on the

current setup but I am not sure if that works as expected. The page will list

items/documents (similar to what we have on the main website right now but

the presentation should be better).

NOTE: We plan to get rid of the hierarchy

(Agriculture>Cultivation>Irrigation will no longer be available and everything

will fall under Agriculture and so on for other themes)

o We should also be able to create a page which will show all the themes like we

have for projects on the main site. This could be automatic or manual which

ever works better but manual system sounds like a more flexible option.

Page 12: Terms of Reference (ToR) for Development and Maintenance ... PA Wordpress... · All the legally registered software development company/agency/firms based in Kathmandu, Nepal with
Page 13: Terms of Reference (ToR) for Development and Maintenance ... PA Wordpress... · All the legally registered software development company/agency/firms based in Kathmandu, Nepal with

Collection page (front view)

o Tracking download

o Under All Resources we need to add a Date filter and a download count for

each resource. We should be able to use the date filter to reveal download

stats for that particular period which we should be able to download in excel

(xls/csv) format.

o Events tracking (this will be done through Google Analytics)

We will need to track multiple events

Document

Download

View

Scroll Depth

Page 14: Terms of Reference (ToR) for Development and Maintenance ... PA Wordpress... · All the legally registered software development company/agency/firms based in Kathmandu, Nepal with

Videos

Outbound link

SearchBox

Mailto click

Dashboard

Should be able to select one primary community to show on the website

Categories

Should be able to change the name of a category locally

Upload a different image for a category (locally)

Change alias

Change description (locally)

Add additional information at the bottom

Meta keyword

Meta description

Item list

Change

o Alias

o Meta title

o Description

Ability to change the status of the document (live/not live)

Download list with filter

Need this section to count the number of downloads

Date filter

Community/collection filter

Comments

Ability to

o Approve

o Disapprove

o Delete

o Filter comments by date range

Options

Ability to change repository URL

Page 15: Terms of Reference (ToR) for Development and Maintenance ... PA Wordpress... · All the legally registered software development company/agency/firms based in Kathmandu, Nepal with

Synchronization

Synchronization is a process of updating the website database to cater for any new changes that

might have happened on the repository.

o Full Sync: Replace the current database and get a fresh copy of metadata from

the repository

o Update sync: Look for updates (through OAI request) and update the current

database as per the changes received.

o Communities sync: Synchronize the community structure so as to update the

list that we have on our database.

Other features

Create block of items

o Select multiple items from different collections by searching them on the

module itself

o Easy to assign the block to any page at the front end

Front end

Latest documents

Automatic list of items ordered by date of appearance dc.date.available which can be

placed in any section of the website based on our requirement. We initially want to

have it on the homepage but would be ideal if we can do that on other pages as well.

Community/collection view page (refer to Page 3 and 4)

o List of communities/collections

o Additional information

Item view page

Page 16: Terms of Reference (ToR) for Development and Maintenance ... PA Wordpress... · All the legally registered software development company/agency/firms based in Kathmandu, Nepal with

o Related documents

o Comments

o Section at the bottom for newsletter and anything else