2019-11-20 20:47:32 +02:00
<!doctype html>
< html >
<!--
!!! WARNING !!!
This file was auto-generated from readme/gsoc/idea1_nextcloud.md and any manual change
made to it will be overwritten. To make a change to this file please modify
the source Markdown file:
https://github.com/laurent22/joplin/blob/master/readme/gsoc/idea1_nextcloud.md
-->
< head >
< title > GSoC: Idea 1: Nextcloud | Joplin< / title >
< meta charset = "utf-8" >
< meta http-equiv = "X-UA-Compatible" content = "IE=edge" >
< meta name = "viewport" content = "width=device-width, initial-scale=1" >
< link rel = "stylesheet" href = "https://joplinapp.org/css/bootstrap.min.css" >
< link rel = "shortcut icon" type = "image/x-icon" href = "favicon.ico" >
<!-- <link rel="stylesheet" href="https://joplinapp.org/css/fontawesome - all.min.css"> -->
< link rel = "stylesheet" href = "https://joplinapp.org/css/fork-awesome.min.css" >
< script src = "https://joplinapp.org/js/jquery-3.2.1.slim.min.js" > < / script >
< style >
body {
background-color: #F1F1F1;
color: #333333;
}
table {
margin-bottom: 1em;
}
td, th {
padding: .8em;
border: 1px solid #ccc;
}
.page-markdown table pre,
.page-markdown table blockquote {
margin-bottom: 0;
}
.page-markdown table pre,
.page-markdown table blockquote {
margin-bottom: 0;
}
.page-markdown table pre {
background-color: rgba(0,0,0,0);
border: none;
margin: 0;
padding: 0;
}
h1, h2 {
border-bottom: 1px solid #eaecef;
padding-bottom: 0.3em;
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
font-weight: 600;
font-size: 2em;
margin-bottom: 16px;
}
h2 {
font-size: 1.6em;
}
h3 {
font-size: 1.3em;
}
code {
color: black;
background-color: #eee;
border: 1px solid #ccc;
font-size: .85em;
}
pre code {
border: none;
}
pre {
font-size: .85em;
}
blockquote {
font-size: 1em;
color: #555;
};
#toc ul {
margin-bottom: 10px;
}
#toc {
padding-bottom: 1em;
}
2019-12-02 22:41:26 +02:00
.title {
display: flex;
align-items: center;
}
2019-11-20 20:47:32 +02:00
.title-icon {
2019-12-02 22:41:26 +02:00
display: flex;
height: 1em;
}
.title-text {
display: flex;
font-weight: normal;
margin-bottom: .2em;
margin-left: .5em;
2019-11-20 20:47:32 +02:00
}
.sub-title {
2019-12-02 22:41:26 +02:00
font-weight: normal;
2019-11-20 20:47:32 +02:00
}
.container {
background-color: white;
padding: 0;
box-shadow: 0 10px 20px #888888;
}
table.screenshots {
margin-top: 2em;
margin-bottom: 2em;
}
table.screenshots th {
height: 3em;
text-align: center;
}
table.screenshots th,
table.screenshots td {
border: 1px solid #C2C2C2;
}
img[align="left"] {
margin-right: 10px;
margin-bottom: 10px;
}
.mobile-screenshot {
height: 40em;
padding: 1em;
}
.cli-screenshot-wrapper {
background-color: black;
vertical-align: top;
padding: 1em 2em 1em 1em;
}
.cli-screenshot {
font-family: "Monaco", "Inconsolata", "CONSOLAS", "Deja Vu Sans Mono", "Droid Sans Mono", "Andale Mono", monospace;
background-color: black;
color: white;
border: none;
}
.cli-screenshot .prompt {
color: #48C2F0;
}
.top-screenshot {
margin-top: 2em;
text-align: center;
}
.header {
position: relative;
padding-left: 2em;
padding-right: 2em;
padding-top: 1em;
padding-bottom: 1em;
color: white;
background-color: #2B2B3D;
}
.header a h1 {
color: white;
}
2019-12-02 22:41:26 +02:00
.header a:hover {
text-decoration: none;
}
2019-11-20 20:47:32 +02:00
.content {
padding-left: 2em;
padding-right: 2em;
padding-bottom: 2em;
padding-top: 2em;
}
.forkme {
position: absolute;
right: 0;
top:0;
}
.nav-wrapper {
position: relative;
width: inherit;
}
.nav {
background-color: black;
display: table;
width: inherit;
}
.nav.sticky {
position:fixed;
top: 0;
width: inherit;
box-shadow: 0 0 10px #000000;
}
.nav a {
color: white;
display: inline-block;
padding: .6em .9em .6em .9em;
}
.nav ul {
padding-left: 2em;
margin-bottom: 0;
display: table-cell;
/* min-width: 250px; */
/* For GSoC: */
min-width: 470px;
}
.nav ul li {
display: inline-block;
padding: 0;
}
.nav li.selected {
background-color: #222;
font-weight: bold;
}
.nav-right {
display: table-cell;
width: 100%;
text-align: right;
vertical-align: middle;
line-height: 0;
}
.nav-right .share-btn {
display: none;
}
.nav-right .small-share-btn {
display: none;
}
.footer {
padding-top: 1em;
border-top: 1px solid #d4d4d4;
margin-top: 2em;
color: gray;
font-size: .9em;
}
a.heading-anchor {
display: inline-block;
opacity: 0;
width: 1.3em;
font-size: 0.7em;
margin-left: 0.4em;
line-height: 1em;
text-decoration: none;
transition: opacity 0.3s;
}
a.heading-anchor:hover,
h1:hover a.heading-anchor,
h2:hover a.heading-anchor,
h3:hover a.heading-anchor,
h4:hover a.heading-anchor,
h5:hover a.heading-anchor,
h6:hover a.heading-anchor {
opacity: 1;
}
.bottom-links {
display: flex;
justify-content: center;
border-top: 1px solid #d4d4d4;
margin-top: 30px;
padding-top: 25px;
}
@media all and (min-width: 400px) {
.nav-right .share-btn {
display: inline-block;
}
.nav-right .small-share-btn {
display: none;
}
}
< / style >
< / head >
< body >
< div class = "container page-idea1_nextcloud" >
< div class = "header" >
< a class = "forkme" href = "https://github.com/laurent22/joplin" > < img src = "https://joplinapp.org/images/ForkMe.png" / > < / a >
2019-12-02 22:41:26 +02:00
< a href = "https://joplinapp.org" > < h1 class = "title" > < img class = "title-icon" src = "https://joplinapp.org/images/Icon512.png" > < span class = "title-text" > Joplin< / span > < / h1 > < / a >
< p class = "sub-title" > An open source note taking and to-do application with synchronisation capabilities< / p >
2019-11-20 20:47:32 +02:00
< / div >
< div class = "nav-wrapper" >
< div class = "nav" >
< ul >
< li class = "" > < a href = "https://joplinapp.org/" title = "Home" > < i class = "fa fa-home" > < / i > < / a > < / li >
< li > < a href = "https://discourse.joplinapp.org" title = "Forum" > Forum< / a > < / li >
< li > < a class = "help" href = "#" title = "Menu" > Menu< / a > < / li >
2019-12-02 22:41:26 +02:00
< li > < a class = "gsoc" href = "https://joplinapp.org/gsoc/" title = "Google Summer of Code 2020" > GSoC 2020< / a > < / li >
2019-11-20 20:47:32 +02:00
< / ul >
< div class = "nav-right" >
<!--
< iframe class = "share-btn" src = "https://www.facebook.com/plugins/share_button.php?href=http%3A%2F%2Fjoplinapp.org&layout=button&size=small&mobile_iframe=true&width=60&height=20&appId" width = "60" height = "20" style = "border:none;overflow:hidden" scrolling = "no" frameborder = "0" allowTransparency = "true" > < / iframe >
< iframe class = "share-btn" src = "https://platform.twitter.com/widgets/tweet_button.html?url=http%3A%2F%2Fjoplinapp.org" width = "62" height = "20" title = "Tweet" style = "border: 0; overflow: hidden;" > < / iframe >
-->
< iframe class = "share-btn share-btn-github" src = "https://ghbtns.com/github-btn.html?user=laurent22&repo=joplin&type=star&count=true" frameborder = "0" scrolling = "0" width = "100px" height = "20px" > < / iframe >
< / div >
< / div >
< / div >
< div class = "content" >
< div id = "toc" > < ul >
< li >
< p > Applications< / p >
< ul >
< li > < a href = "https://joplinapp.org/desktop/" > Desktop application< / a > < / li >
< li > < a href = "https://joplinapp.org/mobile/" > Mobile applications< / a > < / li >
< li > < a href = "https://joplinapp.org/terminal/" > Terminal application< / a > < / li >
< li > < a href = "https://joplinapp.org/clipper/" > Web Clipper< / a > < / li >
< / ul >
< / li >
< li >
< p > Support< / p >
< ul >
< li > < a href = "https://discourse.joplinapp.org" > Joplin Forum< / a > < / li >
< li > < a href = "https://joplinapp.org/markdown/" > Markdown Guide< / a > < / li >
< li > < a href = "https://joplinapp.org/e2ee/" > How to enable end-to-end encryption< / a > < / li >
< li > < a href = "https://joplinapp.org/spec/" > End-to-end encryption spec< / a > < / li >
< li > < a href = "https://joplinapp.org/debugging/" > How to enable debug mode< / a > < / li >
< li > < a href = "https://joplinapp.org/api/" > API documentation< / a > < / li >
< li > < a href = "https://joplinapp.org/faq/" > FAQ< / a > < / li >
< / ul >
< / li >
< li >
< p > About< / p >
< ul >
< li > < a href = "https://joplinapp.org/changelog/" > Changelog (Desktop App)< / a > < / li >
< li > < a href = "https://joplinapp.org/changelog_cli/" > Changelog (CLI App)< / a > < / li >
< li > < a href = "https://joplinapp.org/stats/" > Stats< / a > < / li >
< li > < a href = "https://joplinapp.org/donate/" > Donate< / a > < / li >
< / ul >
< / li >
< / ul >
< / div >
< h1 > GSoC: Nextcloud notes integration (Web client)< a name = "gsoc-nextcloud-notes-integration-web-client" href = "#gsoc-nextcloud-notes-integration-web-client" class = "heading-anchor" > 🔗< / a > < / h1 >
< h2 > What is the goal of the project< a name = "what-is-the-goal-of-the-project" href = "#what-is-the-goal-of-the-project" class = "heading-anchor" > 🔗< / a > < / h2 >
< p > There is the community's wish to have the notes integrated Nextcloud, so that Notes can be sought by Nextcloud itsself. Although this idea focuses on Nextcloud it shall allow to extend it to other collaboration applications going beyond the current scope of < a href = "https://joplinapp.org/#synchronisation" > Synchronisation< / a > .< / p >
< p > There is already the < a href = "https://github.com/foxmask/joplin-web" > web application< / a > what may can be integrated in collaboration application< / p >
< h3 > what shall be answered in the application< a name = "what-shall-be-answered-in-the-application" href = "#what-shall-be-answered-in-the-application" class = "heading-anchor" > 🔗< / a > < / h3 >
< h2 > Why shall this idea be realized< a name = "why-shall-this-idea-be-realized" href = "#why-shall-this-idea-be-realized" class = "heading-anchor" > 🔗< / a > < / h2 >
< p > Allowing broader use of the application and better integration of the existing open source world, we don't want to invent the wheel twice< / p >
< h2 > Who is talking about it< a name = "who-is-talking-about-it" href = "#who-is-talking-about-it" class = "heading-anchor" > 🔗< / a > < / h2 >
< p > The idea is outcome of (but not limited to) of some discussion taking place in the Forum and on GitHub:< / p >
< ul >
< li > < a href = "https://github.com/nextcloud/notes/issues/248" > Support Joplin structure and notebooks #248< / a > < / li >
< li > < a href = "https://discourse.joplinapp.org/t/joplin-web-web-application-companion-for-joplin/555" > Joplin Web< / a > < / li >
< li > < a href = "https://discourse.joplinapp.org/t/new-search-engine-in-joplin/1479" > New search engine in Joplin< / a > < / li >
< li > < a href = "https://discourse.joplinapp.org/t/how-is-webdav-sync-implemented/3102" > How is WebDAV sync implemented?< / a > < / li >
< li > < a href = "https://github.com/laurent22/joplin/issues/228" > Nextcloud notes integration (Web client)< / a > < / li >
< / ul >
< hr >
< p > COMMENTS:< / p >
< ol >
< li >
< p > “Nextcloud notes integration (Web client)” is not well defined. What would be nice is a built-in Nextcloud web client for Joplin. But the top post in there is about something else that won’t be changed (explained in the FAQ: < a href = "https://joplinapp.org/faq/#is-it-possible-to-use-real-file-and-folder-names-in-the-sync-target" > https://joplinapp.org/faq/#is-it-possible-to-use-real-file-and-folder-names-in-the-sync-target< / a > )< / p >
< / li >
< li >
< p > That would be interesting to know what they think about such an integration and how they see it because it’s an old subject, we (the staff) are periodically debating:< / p >
< ul >
< li > < a href = "https://github.com/laurent22/joplin/issues/228" > https://github.com/laurent22/joplin/issues/228< / a > < / li >
< li > < a href = "https://discourse.joplinapp.org/t/nextcloud-fanboy-quest-ce-quils-veulent/844/3" > https://discourse.joplinapp.org/t/nextcloud-fanboy-quest-ce-quils-veulent/844/3< / a > < / li >
< / ul >
< p > I imagined they just need a joplin-api in PHP and “plug” it on the right datasource to switch between “Nextcloud native note/Qownote” to Nextcloud/Qownnote “Joplin note”.< / p >
< / li >
< li >
< p > “How is WebDAV sync implemented?” appears twice. It should only be in Summer of Doc.< / p >
< / li >
< / ol >
< div class = "bottom-links" >
< a href = "https://github.com/laurent22/joplin/blob/master/readme/gsoc/idea1_nextcloud.md" >
< i class = "fa fa-github" > < / i > Improve this doc
< / a >
< / div >
< script >
function stickyHeader() {
return; // Disabled
if ($(window).scrollTop() > 179) {
$('.nav').addClass('sticky');
} else {
$('.nav').removeClass('sticky');
}
}
$('#toc').hide();
$('.help').click(function(event) {
event.preventDefault();
$('#toc').show();
});
$(window).scroll(function() {
stickyHeader();
});
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-103586105-1', 'auto');
ga('send', 'pageview');
< / script >
< div class = "footer" >
Copyright (c) 2016-2019 Laurent Cozic
< / div >
< / body >
< / html >