Giter Site home page Giter Site logo

owncloud / contacts Goto Github PK

View Code? Open in Web Editor NEW
75.0 30.0 46.0 3.36 MB

:busts_in_silhouette: Manage your CardDAV contacts from a feature-rich web-interface

Makefile 1.52% PHP 1.58% CSS 1.80% JavaScript 81.27% HTML 3.22% Hack 0.03% Shell 0.02% Starlark 10.56%
owncloud-app

contacts's Introduction

ownCloud Contacts

irc Build Status Quality Gate Status Security Rating Coverage

A contacts app for ownCloud

This is the new contacts app that has replaced the old contacts app, and is only the frontend for the new server-integrated CardDAV-Backend.

Maintainers:

If you’d like to join, just go through the issue list and fix some. :)

Building the app

The app can be built by using the provided Makefile by running:

make

This requires the following things to be present:

  • make
  • which
  • tar: for building the archive
  • curl: used if phpunit and composer are not installed to fetch them from the web
  • npm: for building and testing everything JS

Publish to App Store

First get an account for the App Store then run:

make && make appstore

The archive is located in build/artifacts/appstore and can then be uploaded to the App Store.

Running tests

You can use the provided Makefile to run all tests by using:

make test

This will run the PHP unit and integration tests and if a package.json is present in the js/ folder will execute npm run test

Of course you can also install PHPUnit and use the configurations directly:

phpunit -c phpunit.xml

or:

phpunit -c phpunit.integration.xml

for integration tests

contacts's People

Contributors

davitol avatar deepdiver1975 avatar dpakach avatar dschmidt avatar esgarov avatar friddy128 avatar grgprarup avatar henni avatar individual-it avatar irgendwie avatar jammingben avatar jancborchardt avatar jasson99 avatar julian1998 avatar juliushaertl avatar kiranparajuli589 avatar kulmann avatar lukasreschke avatar mmattel avatar nickvergessen avatar ownclouders avatar phil-davis avatar sagargi avatar skjnldsv avatar sushmita56 avatar swikritit avatar swoichha avatar t-bucchi avatar william-weber avatar xh3n1 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

contacts's Issues

Test the new Contacts app and contribute!

We are working on the Contacts rework for 9.0: https://github.com/owncloud/contactsrework
The CardDAV syncing was moved into core, and this is the repo for the new Contacts app frontend.

I’m using this issue to cc everyone who worked on Contacts in the past:
@babelouest, @jbtbnl, @ockham, @derkostka, @jakobsack, @schuemann, @tribut, @mroi, @lupusmeatus, @BernhardPosselt, @AdamWill, @LEDfan, @vgezer, @rehrumesh, @DavidPrevot, @martin-rueegg
You can easily help in several ways:

Thanks a lot! :)

Order of detail items

Currently the fields are ordered alphabetically in the dropdown, and by i-have-no-idea in the details view.

The order should be like this in both the details view and dropdown (bold items are shown by default):

  • Organization & title (should be combined

^ we could put that in the header as well, smaller below the name

  • Phone
  • Email
  • Address
  • Instant messaging

^ that’s all the contact stuff, which can have home/work/other dropdowns.

  • Nickname
  • Birthday
  • Website
  • Notes
  • Groups
  • Role (let’s remove it …)

^ not entirely set on the order of the stuff in this last part.

Contacts not showing up after refresh

How to reproduce:

  • Click 'Add contact'
  • Refresh the page

Expected Result:

  • Contact showing up

Actual Result:

  • Not a single contact showing up

The PROPFIND request returns the correct list of contacts,
but it seems like they are not handled and shown afterwards.

Addressbook share icon doesnt show in Firefox or safari

Hover over an addressbook in firefox of safari and the sharing icon does not appear. Similar issue appeared in Calendar-rework so need to look at how it got fixed. I had a suspicion that it was related to adblockers removing it - not sure if there is any merit in this

Show favorite contacts first in list

Instead of having a separate group/section for favorite contacts, they should always be shown first in the list.

In the future we can even sort them by frequency of contact through the Mail app. ;)

remove emtpy group

as soon as the last contacts is deleted from one group we should remove the group from the group list

Cannot log-in after enabling the App

Maybe something is missing, but i cannot get into my owncloud after enabling the contactsrework.

a) Do i have to disable the "deprecated" contacts app ?
b) Do i need to rename this new app to "contacts" ?

Log is:
{"reqId":"4vhxURWv5wF2+UtkmEqB","remoteAddr":"192.168.6.1","app":"index","message":"Exception: {"Exception":"RuntimeException","Message":"image not found: image:app.svg webroot: serverroot:\/var\/www\/owncloud","Code":0,"Trace":"#0 \/var\/www\/owncloud\/apps\/contactsrework-master\/appinfo\/app.php(35): OC\URLGenerator->imagePath('contactsrework', 'app.svg')\n#1 \/var\/www\/owncloud\/lib\/private\/navigationmanager.php(63): OC_App::OCA\ContactsRework\AppInfo\{closure}()\n#2 \/var\/www\/owncloud\/lib\/private\/app.php(645): OC\NavigationManager->getAll()\n#3 \/var\/www\/owncloud\/lib\/private\/templatelayout.php(82): OC_App::getNavigation()\n#4 \/var\/www\/owncloud\/lib\/private\/template.php(225): OC\TemplateLayout->__construct('user', 'files')\n#5 \/var\/www\/owncloud\/lib\/public\/appframework\/http\/templateresponse.php(156): OC_Template->fetchPage()\n#6 \/var\/www\/owncloud\/lib\/private\/appframework\/http\/dispatcher.php(112): OCP\AppFramework\Http\TemplateResponse->render()\n#7 \/var\/www\/owncloud\/lib\/private\/appframework\/app.php(110): OC\AppFramework\Http\Dispatcher->dispatch(Object(OCA\Files\Controller\ViewController), 'index')\n#8 \/var\/www\/owncloud\/lib\/private\/appframework\/routing\/routeactionhandler.php(45): OC\AppFramework\App::main('OCA\\Files\\Contr...', 'index', Object(OC\AppFramework\DependencyInjection\DIContainer), Array)\n#9 [internal function]: OC\AppFramework\routing\RouteActionHandler->__invoke(Array)\n#10 \/var\/www\/owncloud\/lib\/private\/route\/router.php(273): call_user_func(Object(OC\AppFramework\routing\RouteActionHandler), Array)\n#11 \/var\/www\/owncloud\/lib\/base.php(856): OC\Route\Router->match('\/apps\/files\/')\n#12 \/var\/www\/owncloud\/index.php(39): OC::handleRequest()\n#13 {main}","File":"\/var\/www\/owncloud\/lib\/private\/urlgenerator.php","Line":190}","level":3,"time":"February 17, 2016 21:10:30","method":"GET","url":"/apps/files/"}

Adding new field which already exists results in existing field being emptied

Instead of the field being emptied, there are 2 cases:

  • If the field can only exist once (like »Organization« or »Nickname« or »Notes«) the entry should be removed from the »Add new field« dropdown as soon as the field already exists
  • If there can be multiple fields (like telephone, address, email), there should of course be another one added.

Not sure how much of this is possible til release, but for sure we shouldn’t clear any data. As a quick fix, only focus the already existing field.

Contact birthdays

Is it planned to offer a CalDAV link for all contacts birthdays?

I'm not sure whether this should be addressed by the new contacts app or the new calendar app.

Using datepicker causes crash

Use the datepicker, as soon as you pick a date the JS console spits out something like this:

TypeError: value.value.map is not a function

(Long error, best test for yourself)

And after that, no fields can be added or deleted until refresh.

Make Organization and Title a group

Similar to the address fields, the fields for »Organization« and »Title« belong together and should be made a group. Title should always appear below the Organization field. That’s also how Android and others do it.

Visually, we could then also add some whitespace above and below that group similarly to how we do with the address.

Mobile styles

We need to copy over the mobile styles from the Mail app so contacts properly works on small screens.

Favorites

Will favorites work for 9.0? Will it be a read-only indicator maybe? Or not at all?

Either way, if we don’t finish that, we should hide the star in the contact list and then move the avatar a tad down for visual balance.

Empty fields don't get removed

When creating additional fields (nickname, categories, etc.),
empty ones don't get deleted.
Whenever an additional field is empty,
the property should be removed.

Multiple fields introduced by #82
@DeepDiver1975

Replace labels with icons

Since we are using placeholders on the fields now and the labels make the whole thing a bit busy I was thinking of replacing them with icons. E.g. marker icon for address, mail icon for email, etc. Most of them already exist so it would be quite simple.

What do you think @Henni @DeepDiver1975?

Add custom favicon

Note to self, we should have a nice custom favicon with the app icon (including .ico file cause otherwise it will not show up).

Allow user to add federated cloud id to contact

I just tried the new contacts app and first let me say that it looks already really good! :-)

The old contacts app allowed the user to add th federated cloud ID to a contact.

The cloud id was stored this way in the vcard:

CLOUD;TYPE=HOME:[email protected]

It supported the same types as the email field so that a user could have multiple federated cloud IDs, e.g one personal ID and one work ID.

The share dialog also searches the address book for users with a cloud id, so this is quite useful to share with people from your address book. Would be great if this field would also exist in the new contacts app.

URL design

  • for a contact open in »All« (or a contact with no group): #/contact-id
  • when a group is open without any specific contact you clicked (meaning the first is loaded): #/group-id
  • for when a group and contact is open: #/group-id/contact-id

We need to make sure the highlights are correctly set then too: #38

Whole row should be clickable

Instead of only the name / first line, the whole app-content-list-item row should be clickable to open the contact.

Layout

Since we’re now reworking the whole architecture based on the movement of dav into core, it’s a good point to revisit the design as well. Generally we should continue where we left off with the design of the current Contacts app because we put a lot of thought and work into it. cc @babelouest @jbtbnl

  • app-sidebar is for displaying groups, adding and editing them
  • app-content is for showing the actual contact list and showing/editing the details
  • addressbooks go into the settings area because the majority only has one addressbook (also similar as we do for mail accounts in the Mail app)

The main question here is how we do the display of the contact list and the details. There are a few options:

  1. Do it like in the current Contacts app, with the row expanding to reveal the full details.
  2. Do it similar to the Mail app with a split content view, left column has the list of the contacts, and right area has the details. (We could use the sidebar for core from that, but it would be kind of a hack since then we would need to make sure it always is displayed, has a wider width, and it would conflict with sharing contacts, groups or address books since that’s what the sidebar is for.)
  3. Use a completely new layout like bigger avatars and several columns. Similar to Facebook friends view on one’s profile. But then we still need a way to display and edit the details.
  4. … ?

I’d say best is number 2. What do you think @MorrisJobke @raghunayyar @DeepDiver1975 @Henni @irgendwie @ChristophWurst @schiesbn @jbtbnl @babelouest?

hardcoded apps path ....

apps cannot be hardcoded when loading the template since an app can be installed in another folder

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.