Skip to content

Releases: meedan/check

v0.130.0

19 May 02:00
Compare
Choose a tag to compare
  • ➕ Upgrade of Gem on CheckAPI: the gem should be installed during docker-compose build
  • Collections feature: groups of folders. The related model is ProjectGroup
    • ➕ New migration to create table project_groups. The migration should run very fast during docker-compose up
    • ➕ Added new ProjectGroup type with the following fields:
      • dbid of type Integer: the database ID
      • title of type String: the collection name
      • description of type String: a short text to describe the collection
      • team_id of type Integer: database identifier of the team where the collection is created
      • team of type Team: the team where the collection is created
      • medias_count of type Integer: returns the number of items that are part of the collection
      • projects of type ProjectConnection: the list os projects part of the collection
    • ➕ Added ProjectGroup mutations, which include: createProjectGroup, updateProjectGroup and destroyProjectGroup. The mutations have the fields title of type String, description of type String and team_id of type Integer
    • ProjectMedia type: added field project_group of type ProjectGroup to return the collection the item belongs to
    • createProjectMedia, updateProjectMedia, destroyProjectMedia, updateProjectMedias: added return field project_group to show the collection the project media is part of
    • ➕ New migration to add project_group_id to table projects. The migration should run very fast during docker-compose up
    • Project type: added field project_group_id of type Integer and project_group of type ProjectGroupto return the collection ID and the collection the project belongs to
    • Changes on createProject mutation:
      • ➕ added field project_group_id to set the collection ID the project is grouped in
      • ➕ added return field project_group to show the collection the project is grouped in
      • ➖ removed field lead_image
    • Changes on updateProject mutation:
      • ➕ added fields project_group_id and previous_project_group_id of type Integer: update the collection ID the project is grouped in and the previous one respectively
      • ➕ added return field project_group to show the collection the project is grouped in
      • ➖ removed fields lead_image and information
  • Filtered lists feature: saved searches of your content that will dynamically evolve with your content. The related model is SavedSearch
    • ➕ New migration to create table saved_searches. The migration should run very fast during docker-compose up
    • ➕ Added new SavedSearch type with the following fields:
      • dbid of type Integer: database ID
      • title of type String: filtered list name
      • filters of type String: a JSON string with the filters used to create the dynamic list
      • team_id of type Integer: database identifier of the team where the dynamic list is created
      • team of type Team: the team where the dynamic list is created
      • medias_count of type Integer: returns the number of items that are part of the collection
      • projects of type ProjectConnection: the list os projects part of the collection
    • ➕ Added SavedSearch mutations, which include: createSavedSearch, updateSavedSearch and destroySavedSearch. The mutations has the fields title of type String, filters of type String and team_id of type Integer
  • ➕ Add to Query the new fields project_group and saved_search to return the information about the collection or saved search with the given id respectively
  • Team type: added fields saved_searches of type SavedSearch and project_groups of type ProjectGroup to return the dynamic lists and collections that is part of the Team respectively
  • Changes to allow items to belong to at most one list:
    • createProjectMedia and updateProjectMedia mutations: replaced add_to_project_id with project_id to set a project for an item
    • updateProjectMedias mutation: added move_to to set target project for bulk move action
    • ProjectMedia type: added fields project_id and project to return the project ID and the Project type the item belongs to respectively
    • ➕ New migration added to include project_id to project_medias table. The migration should run very fast during docker-compose up
    • ➕ New task to populate project_id from project medias based on project_media_projects table and update index on ElasticSearch. To run the task: rake check:migrate:add_project_id_to_project_media
    • ProjectMedia type: removed fields project_media_project, projects and project_ids
    • ➖ Removed ProjectMediaProject type
    • ➖ Removed ProjectMediaProject mutations, which include: createProjectMediaProject, updateProjectMediaProject, destroyProjectMediaProject, createProjectMediaProjects, updateProjectMediaProjects and destroyProjectMediaProjects
    • ➖ Removed migrations related to ProjectMediaProject
  • Smooch Bot integration with services
    • ➕ New mutations SmoochBotAddIntegration and SmoochBotRemoveIntegration to add and remove Smooch Bot integration respectively. The mutations has the fields:
      • team_bot_installation_id of type String: the database ID of the team bot installation
      • integration_type of type String: set the type of integration. Example: whatsapp, facebook,twitter, indextelegram, line and viber
      • params of type String: JSON string with additional parameters specific for this integration
    • TeamBotInstallation type: added field smooch_enabled_integrations of type JsonStringType that returns the integrations enabled for the Bot
  • Search in lists matching secondary items:
    • ➕ New migration to add mapping for parent_id. The migration should run very fast during docker-compose up
    • ➕ New task for indexing the field parent_id based on items' relationships. To run the task: check:migrate:add_parent_id_to_elastic_search
  • Store information about when the item was last seen:
    • ➕ New migration to add last_seen to project_medias table and add index. The migration should run very fast during docker-compose up:
    • ➕ New task for populating column last_seen from project_medias table based on the values stored in Redis. To run the task: check:migrate:add_last_seen_to_project_media
  • ➕ New task to fix descriptions of medias with URLs that redirect to login pages and delete relationships for confirmed similarities create by Alegre Bot. To run the task: check:migrate:fix_annotation_fields_description
  • ➕ New migrations to improve Smooch Bot. The migrations should run very fast during docker-compose up
    • change the default message for Smooch Bot query state and include the minimum settings to make the Bot actionable when installed
    • update Smooch Bot deactivate setting label
    • update Smooch Bot list settings label
  • ➕ New migration to create field type number to be used on Task responses. The migration should run very fast during docker-compose up
  • ➕ New migration to add and remove some indexes from database. The migration should run very fast during docker-compose up
  • resetPassword mutation: removed return field expiry
  • ➖ Removed importSpreadsheet migration
  • Improves on Developer Experience:
    • Fixed memory leak problems on Pender and Alegre
    • It's possible to run Check locally by just using the example configuration files. Some features won't be available, see the configuration files from each service to see how to set the values
    • Fixed deprecation warnings on Check API dependency that was flooding the logs

v0.129.0

18 May 17:03
Compare
Choose a tag to compare
  • Changes to support the first release of Check's v2 API
    • ➕ New Gem on CheckAPI jsonapi-resources: the gem should be installed during docker-compose build
    • ➕ New task added to re-generate the API schema file. To run the task: rake jsonapi:resources:update_schema
    • ➕ Schema file available on https://check-api.checkmedia.org/jsonapischema.json
  • Team type: added field get_data_report_url to return the URL to a dashboard and access the workspace data reports. The URL is visible only for admin
  • userInvitation mutation: replaced return field success by errors. The errors field returns the list of e-mails that could not be invited and the reason (error message)
  • Changes to support search by media url or part of media url
    • ➕ New migration added to inlcude media url to ElasticSearch. The migration should run very fast during docker-compose up
    • ➕ New task added to synchronize the medias URLs between ElasticSearch and PostgreSQL. To run the task: rake check:migrate:add_url_to_elastic_search
  • ➕ New migration to add "No action resource" workflow to Smooch bot. With this new tipline state it's possible to define a message and/or RSS feed to be sent to tipline users that don't take any action in 15 minutes. The migration should run very fast during docker-compose up
  • ➕ New task added to update ProjectMedia titles and descriptions on Alegre's index with vectors. To run the task: rake check:migrate:add_vectors_to_alegre_records
  • ♻️ Renamed task to synchronize items between ElasticSearch and PostgreSQL. To run the task: check:sync_check_items_es_and_pg

v0.128.0

01 Apr 00:33
Compare
Choose a tag to compare
  • Upgrade of Gems on CheckAPI: the gems should be installed during docker-compose up build
  • User type: added new GraphQL fields
    • last_active_at of type Integer: identify the last time the user was active on Check. It is updated when the user makes a request to GraphQL
    • completed_signup of type Boolean: indicates if the user should complete a sign up process or not. If a user is invited to Check and there's no user with that e-mail, the user should complete the sign up process
  • updateUser mutation: added field completed_signup of type Boolean to update the field for user
  • TeamUser type: added field invited_by to return the user who send the invitation
  • ProjectMedia type: added new GraphQL fields
    • is_secondary of type Boolean: identify when the item is linked to a main item. Related to similar items
    • is_main of type Boolean: identify when a project media is a main item. Related to similar items
  • Version type: added field smooch_user_request_language of type String to expose tipline request language
  • ➕ New migrations added. The migrations should run very fast during docker-compose up
    • migration to add confirmed_by and confirmed_by columns to relationships table
    • migration to add completed_signup column to users table
    • migration to add last_active_at column to users table
  • ➕ New tasks added:
    • task to update ProjectMedia titles and descriptions on alegre's index with vectors. To run the task: check:migrate:add_vectors_to_alegre_records
    • task to synchronize items between ElasticSearch and PostgreSQL. To run the task: check:migrate:sync_check_items_es_and_pg
    • task to populate confirmed_by and confirmed_at from relationships. To run the task: check:migrate:populate_relationship_confirmation_information
    • task to replace title by url on value column from DynamicAnnotation::Fields. To run the task: check:migrate:fix_metadata_annotation_fields_title
    • task to set column last_active_at with value from last_sign_in_at users. To run the task: check:migrate:add_last_active_at_to_users
    • task to send email to users with social login to reset their passwords based on new signup feature. To run the task: check:send_signup_notifications
    • task to set Alegre Team Bot Installation model in use for generating string similarities. To run the task: check:set_language_model_for_alegre_team_bot_installation['<team_id>','<model_name>']
  • Contact type was removed
  • createContact, updateContact and destroyContact mutations were removed
  • createTeam and updateTeam mutations: removed field contact
  • ➖ remove table contacts
  • Team type: removed field invited_mails

v0.127.0

24 Feb 03:19
Compare
Choose a tag to compare
  • ProjectMedia type: added new GraphQL fields
    • added_as_similar_by_name of type String: returns the name of the user who added a similar item
    • confirmed_as_similar_by_name of type String: returns the name of the user who confirmed an item as similar
  • ➕ New task to cache who added or confirmed similar items. To run the task: check:migrate:cache_similarity_user
  • ➕ Integration between Facebook app and the tipline: expose an authorization link where the partner can access directly to integrate their Facebook account with the tipline:
    • Two new keys were added to configuration file: smooch_facebook_app_id and smooch_facebook_app_secret
    • New migration to add Facebook settings to Smooch bot. The migration should run very fast during docker-compose up
  • ♻️ The available roles were updated to "Admin", "Editor" and "Collaborator". A new migration was added to update the current users roles:
    • owner roles were updated to admin
    • journalist roles were updated to editor
    • contributor and annotator roles were updated to collaborator
  • Sort by status and media type:
    • ➕ New migration to add mapping for these 2 new sort options: status_index and type_of_media. The migration should run very fast during docker-compose up
    • ➕ New task for indexing the fields status_index and type_of_media. To run the task: check:migrate:index_new_columns_3
  • ➕ New migration to fix items that were pending similarity check. The migration should run very fast during docker-compose up
  • ➕ New task to fix the team ID of project medias sources. To run the task: check:migrate:fix_project_medias_source
  • ➕ New task to index project media titles and descriptions on Alegre. To run the task: check:migrate:update_alegre_stored_project_media
  • CheckWeb: the configuration and secrets can be retrieved from ENV vars

v0.126.0

04 Feb 20:43
Compare
Choose a tag to compare
  • ➕ Sources feature: the source who published the content added to the platform. The source is extracted automatically from links items
    • ProjectMedia type: added the GraphQL field source that returns the source related to the item
    • Source type: added new GraphQL fields
      • archived of type Integer: the value returned on archived field can be 0 (NONE/not archived), 1 (TRASHED/deleted) or 2 (UNCONFIRMED/flagged)
      • medias_count of type Integer: returns the number of medias related to the same source
      • tasks: a connection that returns the tasks associated to the source
    • Task type: added the GraphQL field annotated_type of type String to expose the type associated, currently ProjectMedia or Source
    • Team type: on sources connection, add an argument keyword to allow searching on sources
    • updateProjectMedia mutation: added field source_id of type Integer to relate with a source
    • createSource mutation: added fields add_to_project_media_id of type Integer to relate with a project media, urls of type String to store the URLs related to it in JSON format and validate_primary_link_exist of type Boolean to verify if the primary link related to the source exists in the team
    • updateSource mutation: added field add_to_project_media_id of type Integer to update the relation with a project media
    • createTeamTask and updateTeamTask mutations: added field associated_type of type String to expose the type associated, currently ProjectMedia or Source
    • New migrations: they should run very fast during docker-compose up
      • migration to add source_id column to project medias
      • migration to add associated_type column to team tasks
  • ♻️ GraphQL refactoring
    • rootLevel type: removed connections comments, project_medias, sources, team_users, teams, accounts, account_sources, medias, projects, users, annotations, tags and contacts
    • rootLevel type: added fields current_user and current_team to return the user logged in and the team being managed respectively
  • ♻️ Changes on migrations to avoid errors when starting app from scratch
  • ➖ Removed CheckAPI Admin UI: The rails_admin gem was removed
  • ➖ Removed CheckAPI Admin UI: The rails_admin gem was removed
  • ➕ Pender: upgraded Ruby to version 2.5 and other dependencies
  • ➕ Alegre: the configuration and secrets can be retrieved from ENV vars
  • ♻️ Narcissus: the tests can run on Docker

v0.125.0

14 Jan 07:04
Compare
Choose a tag to compare
  • ProjectMedia type: added field report_status of type String: returns the status of the item report
  • ➕ New migration to update the descriptions of Smooch (Tipline) and Keep bots. The migration should run very fast during docker-compose up:
  • ♻️ On Narcissus: the nested configuration options where replaced by root-level configuration options. The affected keys were related to S3 storage. To see how the keys are being used now check the example configuration file

v0.124.0

08 Jan 18:35
Compare
Choose a tag to compare
  • ➕ Add duplicateTeam mutation: clone a team duplicating every settings, but none of the content or users. Only team owners have the permission to call this mutation
  • destroyRelationship mutation: added argument add_to_project_id to set the project where the item should go after detaching and item
  • ➕ New task to fix the number of requests from unconfirmed items. To run the task: check:migrate:fix_requests_count_unconfirmed_medias
  • ♻️ On Pender: the nested configuration options where replaced by root-level configuration options. The affected keys were tos_smooch_url, storage and airbrake. To see how the keys are being used now check the example configuration file

v0.123.0

23 Dec 22:04
Compare
Choose a tag to compare
  • Upgrade of Gems on CheckAPI: the gems should be installed during docker-compose up build
  • Search items in the trash and in unconfirmed items
    • PublicTeam and Team type: added the GraphQL field unconfirmed_count of type Int to count the team unconfirmed items
    • Team type: added field check_search_unconfirmed of type CheckSearch
  • ➕ Add a migration to create the fields smooch_request_type and smooch_request_id to smooch annotations. The migrations should run very fast during docker-compose up
  • Sort by comment_count, reaction_count, related_count and suggestions_count
    • ➕ New migration to add mapping for these 4 new sort options. The migration should run very fast during docker-compose up:
    • ➕ New task for indexing the fields comment_count, reaction_count, related_count and suggestions_count. To run the task: check:migrate:index_new_columns_2
  • ➕ New task to remove related ProjectMediaProjects for Trashed/Unconfirmed items. To run the task: check:migrate:remove_pmp_from_trashed_unconfirmed_items

v0.122.0

23 Dec 01:49
Compare
Choose a tag to compare
  • Changes to support better the new feature related to image and text confirmed similarity / suggested similar / related items:
    • ➖ GraphQL types removed: RelationshipsType, RelationshipsSourceType, RelationshipsTargetType
    • ProjectMedia type: removed the GraphQL fields relationship, relationships, secondary_items
    • ProjectMedia type: added the GraphQL fields suggested_main_item, suggested_similar_relationships, suggested_similar_items_count, confirmed_similar_relationships, confirmed_similar_items_count, is_confirmed_similar_to_another_item, confirmed_main_item, default_relationships and default_relationships_count
    • ➕ Relationship mutations: added the GraphQL fields relationship_source_type and relationship_target_type
    • Relationship type: removed GraphQL field current_id
    • ➕ Three new migrations were added to support the changes. The migrations should run very fast during docker-compose up
      • Add new column weight on relationships table to store how similar the images / texts are
      • Add index to column relationship_type of table relationships
      • Convert Alegre Relationships on database to confirmable or suggestables
    • ➕ New task for indexing relationships for searches. To run the task: check:migrate:reindex_relationships
  • Refactor archived field to be integer instead of boolean. The value returned on archived field can be 0 (NONE/not archived), 1 (TRASHED/deleted) or 2 (UNCONFIRMED/flagged)
    • ➕ New migration to convert the column archived to integer on tables teams, projects, project_medias, sources. The migration should run very fast during docker-compose up:
    • ➕ New task for updating the archived changes from versions table. To run the task: check:migrate:update_archived_logs
  • Pender uses the Facebook API to get sharing metrics of some URLs. Pender now accepts any number of Facebook APP IDs and it tries the first credential and if the API limit is reached, Pender will try to get the metrics with the next app credentials.
    • New configuration format facebook_app: 'fb_app_id_1:fb_app_secret_1;fb_app_id_2:fb_app_secret_2'

v0.121.0

22 Dec 23:44
Compare
Choose a tag to compare

This release includes more search options:

  • Search by assignments: the filter should match the items directly assigned to the users listed on search
    • ➕ New migration to add mapping for assignment search. The migration should run very fast during docker-compose up:
    • ➕ New task for indexing assignments. To run the task: check:migrate:reindex_assignments
  • Search by report status, tags and social media post publication date
    • ➕ New migration to add mapping for these 3 new search options. The migration should run very fast during docker-compose up:
    • ➕ New task for indexing the fields report_status, media_published_at and tags_as_sentence. To run the task: check:migrate:index_new_columns