[Bug 28197] Account.I.External: support for immutable accounts in Mission Control

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Thu Jun 17 19:16:40 CEST 2010


https://bugs.freedesktop.org/show_bug.cgi?id=28197

--- Comment #10 from Simon McVittie <simon.mcvittie at collabora.co.uk> 2010-06-17 10:16:39 PDT ---
Each property should say whether it can change, and if so, how you get
notified. I infer that the intention is (and here's how I'd phrase it):

StorageProvider: This property cannot change once an Account has been created.

StorageIdentifier: This property cannot change once an Account has been
created.

StorageRestrictions: This property cannot change once an Account has been
created.

StorageSpecificInformation: Whether values in this map can change is defined by
the StorageProvider. There is no change notification, so the property must be
re-retrieved using Get or GetAll if an up to date value is needed.

> +        Dbus namespaced name of the plugin in the AccountManager implementation

It's spelled D-Bus, and I'd phrase this more like: The name of the account
storage implementation, which SHOULD start with a reversed domain name in the
same way as D-Bus interface names.

> +      <tp:docstring>
> +        Unique identification of the account within the backends Storage.
> +        What's stored in the variant is specific to the storage implementation.
> +
> +        <tp:rationale>

... within the storage backend. The contents of the variant are defined by the
<tp:member-ref>StorageProvider</tp:member-ref>.

Spec-lint: Please put <tp:docstring xmlns="http://www.w3.org/1999/xhtml"> on
any docstring with multiple paragraphs (rationale counts as a <div>), and put
<p> around each paragraph (including inside the <tp:rationale>).

> +          identifying an account, some might use an integer others a string.

... an account, typically an integer or a string.

> +    <property name="StorageSpecificInformation"
> +      <tp:docstring>
> +        Map containing information specific to one Storage system. This map
> +        contains extra information specific to the storage method. The possible
> +        keys depend solely on the used Storage method and won't be further
> +        defined by this spec.
> +      </tp:docstring>

This should also say that the AM won't use this information, and should have a
rationale. I'd phrase this as:

<p>Map containing information specific to the storage backend. The keys and the
types of their values are defined by the
<tp:member-ref>StorageProvider</tp:member-ref>, and are not interpreted by the
AccountManager implementation.</p>

<tp:rationale>
  <p>This can be used to provide additional hints to user interfaces aware of a
specific storage provider, without requiring those user interfaces to use the
<tp:member-ref>StorageIdentifier</tp:member-ref> to query the storage provider
directly.</p>
</tp:rationale>

That rationale seems a bit weak, though... apart from fewer round-trips, that
property just gives us the ability for two cooperating backends to agree on a
hint name.

> +    <tp:flags name="Storage_Restriction_Flags" value-prefix="Storage_Flag"

Either change the value-prefix to Storage_Restriction_Flag or the name to
Storage_Flags, please. I think I prefer the former; or possibly it could be
Storage_Restriction and Storage_Restrictions?

I'm not sure that I like the names starting with "Immutable" - the
enabledness/parameters/presence can presumably change, just not via Telepathy?
We generally use Immutable to mean "can't change under any circumstances".

Perhaps Cannot_Set_Parameters, Cannot_Set_Enabled, Cannot_Set_Presence?

Spec-lint: I'd prefer a blank line between each <tp:flag> and the next.

-- 
Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.



More information about the telepathy-bugs mailing list