No description
Find a file
cmrd Senya f85f167f50 Implement archive import backend
This implements archive import feature.

The feature is divided in two main subfeatures: archive validation and archive import.

Archive validation performs different validation on input user archive. This can be
used without actually running import, e.g. when user wants to check the archive
before import from the frontend. Validators may add messages and modify the archive.

Validators are separated in two types: critical validators and non-critical validators.

If validations by critical validators fail it means we can't import archive.

If non-critical validations fail, we can import archive, but some warning messages
are rendered.

Also validators may change archive contents, e.g. when some entity can't be
imported it may be removed from the archive.

Validators' job is to take away complexity from the importer and perform the validations
which are not implemented in other parts of the system, e.g. DB validations or
diaspora_federation entity validations.

Archive importer then takes the modified archive from the validator and imports it.

In order to incapsulate high-level migration logic a MigrationService is
introduced. MigrationService links ArchiveValidator, ArchiveImporter and
AccountMigration.

Also here is introduced a rake task which may be used by podmins to run archive
import.
2019-04-26 18:41:27 +03:00
app Implement archive import backend 2019-04-26 18:41:27 +03:00
bin Update binstubs 2017-08-12 15:39:19 +02:00
config Merge branch 'next-minor' into develop 2019-02-26 01:02:52 +01:00
db/migrate Speed up public stream and remove obsolete indexes 2018-12-28 01:39:49 +01:00
docker/develop Add DIASPORA_DOCKER_PORT env var to change the port exposed by Docker 2018-11-18 19:27:20 +01:00
features Merge branch 'next-minor' into develop 2019-01-06 22:18:48 +01:00
graphics Replace dandelion.jpg with a public domain photo 2019-02-19 01:29:52 +01:00
lib Implement archive import backend 2019-04-26 18:41:27 +03:00
public Add /camo/ to robots.txt 2018-02-27 00:47:32 +01:00
script Use sudo for docker if socket is not writable 2018-11-08 05:15:47 +01:00
spec Implement archive import backend 2019-04-26 18:41:27 +03:00
tmp/pids ensure tmp/pids exists [ci skip] 2015-05-21 17:25:47 +02:00
vendor Add NodeInfo 2.0 support 2017-05-21 12:05:54 +02:00
.codeclimate.yml add CodeClimate config 2016-07-06 00:59:16 +02:00
.editorconfig add editorconfig 2015-02-14 17:07:56 +01:00
.eslintrc Merge branch 'next-minor' into develop 2018-04-12 02:49:11 +02:00
.foreman Add vines as foreman task 2014-11-13 11:36:55 +01:00
.gitignore Add VSCode-related files to the .gitignore 2018-07-13 10:17:44 +02:00
.haml-lint.yml add haml-lint 2015-08-23 13:21:53 +02:00
.pronto.yml Configure pronto to ignore files in vendor and consolidate comments 2016-08-10 00:40:48 +02:00
.rspec require spec_helper in .rspec 2016-11-27 21:27:12 +01:00
.rubocop.yml update plural rules 2018-06-16 21:12:13 +02:00
.ruby-gemset Replace .rvmrc by .ruby-version 2014-03-24 15:33:29 +01:00
.ruby-version Bump ruby to 2.4 2017-07-23 02:41:29 +02:00
.scss-lint.yml Enforce comments before temporary linter rule changes 2016-02-06 14:15:04 +01:00
.slugignore added a few more files to ignore for the slugignore [ci skip] 2012-01-15 20:04:46 -08:00
.travis.yml Run rake directly without xvfb on travis 2017-11-01 00:46:36 +01:00
AUTHORS Update AUTHORS file 2015-09-14 21:50:09 +02:00
browserlist bump autoprefixer-rails 2015-02-28 02:36:14 +01:00
Changelog.md Merge branch 'next-minor' into develop 2019-02-19 03:04:13 +01:00
CODE_OF_CONDUCT.md Update Contributor Covenant to v1.4.0 2016-06-19 19:46:19 +02:00
config.ru Add # frozen_string_literal: true to all files 2017-09-17 19:29:15 +02:00
CONTRIBUTING.md Add a Contributing file 2017-07-12 16:14:58 +02:00
COPYRIGHT remove unused social media logos and add attribution 2015-05-29 11:39:01 +02:00
FederationProcfile basic federation profile testing stuff 2012-02-14 10:58:57 -08:00
Gemfile Implement archive import backend 2019-04-26 18:41:27 +03:00
Gemfile.lock Implement archive import backend 2019-04-26 18:41:27 +03:00
Guardfile Remove guard-cucumber 2018-11-18 19:27:43 +01:00
LICENSE Rename GNU-AGPL-3.0 to LICENSE 2016-09-25 07:26:07 +02:00
Procfile replace foreman with eye 2015-05-19 02:55:31 +02:00
Rakefile Add # frozen_string_literal: true to all files 2017-09-17 19:29:15 +02:00
README.md Escape asterisks in README 2018-06-16 04:32:38 +02:00
redis-integration1.conf seperate and move redis dump files so they don't mess with installed redis 2012-05-08 12:41:57 +02:00
redis-integration2.conf seperate and move redis dump files so they don't mess with installed redis 2012-05-08 12:41:57 +02:00

diaspora*

A privacy-aware, distributed, open source social network

master: Build Status master next-minor: Build Status next-minor Coverage Status next-minor| develop: Build Status develop Coverage Status develop | Code Climate

Project site | Wiki | Bugtracker | Discussions and Support | License | Authors

Installation

You don't have to install diaspora* to use the network. There are many servers connected to diaspora*s network which are open to anyone, and you can create an account on one of these servers. Have a look at our tips for finding a home, or you can just go straight to the list of open servers to sign up.

Want to own your data and install diaspora*? Whether you just want to try it out, want to install it on your server or want to contribute and need a development setup, our installation guides will get you started!

Questions?

Have a look at our FAQs for users, for pod administrators or for developers.

Still haven't found an answer? Talk to us! Read how we communicate. We're here to answer all your questions.

Contribute

To keep diaspora* growing and improving we need all help we can get. Whether you can contribute code, ideas, translations, bug reports or simply extend the community as a helpful user or pod administrator, your help is welcome!

Everyone interacting in diasporas codebases, issue trackers, chat rooms, the wiki, and the Discourse is expected to follow the diaspora* code of conduct.

Security

Found a security issue? Please disclose it responsibly. We have a team of developers listening to security@diasporafoundation.org. The PGP fingerprint is AB0D AB02 0FC5 D398 03AB 3CE1 6F70 243F 27AD 886A.