Commit Graph

355 Commits

Author SHA1 Message Date
Mike Hatfield
36905ad325 Fix for parsing of "If-Modified-Since" header
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@14679 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2009-06-12 09:37:23 +00:00
David Caruana
565c57d893 Web Script Framework enhancements: ReadOnly transactions, Buffered Responses
- additional 'allow' attribute on <transaction> element in web script descriptor
   - values: readonly, readwrite (default)
   - readonly means that the whole web script executes in read transaction
   - readonly lighter weight; no flushing, no cache checks/updates
- transaction aware web script response buffers
   - only commits to response when trx is committed
   - fixes ALFCOM-2497 - CMIS: createFolder & immediately add document can fail
   - also means errors half-way thru response result in clean response with error contents only
   - readonly transactions are not buffered
- WebScript RepoStore now uses ReadOnly transaction for gets
- CMIS getter Web Scripts set to ReadOnly transaction
- Fix up Web Script pattern that checks for WebScriptServletResponse using instanceof
   - no longer the case, as it may be wrapped in BufferedResponse
   - use getRuntime() instanceof WebScriptServletRuntime and/or
   - WebScriptServletRuntime.getHttpServletResponse/Request(WebScriptReponse r) - returns null, if none

Tests:
- Run CMIS Tests
- Run CMIS BulkCreateSystemTest (now working)
- Run Share

Suggestion:
- Update your 'read' web script descriptors to include <transaction allow="readonly">. This will improve repo performance significantly.

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@14670 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2009-06-11 18:25:59 +00:00
David Caruana
01718c3455 MOB-356: CMIS Spec - deleteContentStream()
- AtomPub binding
- added testContentStreamEmpty()
- added testContentStreamDelete()
- some spec issues raised for CMIS TC

- also added delete() to ScriptContentData

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@14643 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2009-06-10 17:55:40 +00:00
David Caruana
c185e0674f System test for ALFCOM-2947: Bulk create folders/docs via CMIS can fail.
Note: This test currently fails intermittently, but won't halt the build, as it's a System test.

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@14640 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2009-06-10 15:13:50 +00:00
Dave Ward
916774a1fe Merged BRANCHES/DEV/DAVEW/LDAP to HEAD
14587: Added new node service method getNodesWithoutParentAssocsOfType to public-services-security-context.xml (or at least my best guess at it!)
   14586: Use US spelling of synchronization in filenames for consistency
   14585: Lower the default user registry sync frequency to daily instead of hourly. Now users and groups are pulled over incrementally on login of missing users.
   14583: Unit test for ChainingUserRegistrySynchronizer
   14571: Migration patch for existing authorities previously held in users store
      - Uses AuthorityService to recreate authorities in spaces store with new structure
   14555: Authority service changes for LDAP sync improvements
      - Moved sys:authorities container to spaces store
      - All authorities now stored directly under sys:authorities
      - Authorities can now be looked up directly by node service
      - Secondary child associations used to model group relationships
      - 'Root' groups for UI navigation determined dynamically by node service query
      - cm:member association used to relate both authority containers and persons to other authorities
      - New cm:inZone association relates persons and authority containers to synchronization 'zones' stored under sys:zones
      - Look up of authority zone and all authorities in a zone to enable multi-zone LDAP sync
   14524: Dev branch for finishing LDAP zones and upgrade impact

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@14588 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2009-06-08 16:16:32 +00:00
David Caruana
902252cde4 Merged DEV/CMIS0_61 to HEAD:
14395 : MOB-689 Support custom sub-types in CMIS Web Services
___________________________________________________________________
Modified: svn:mergeinfo
   Merged /alfresco/BRANCHES/DEV/CMIS0_61:r14395

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@14505 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2009-06-02 14:48:00 +00:00
David Caruana
4fa8c5c423 CMIS Relationship delete implementation
- added testDeleteRelationship

CMIS Relationship loose ends
- added property filter to getRelationships
- updated allowable actions for relationships

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@14468 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2009-05-28 13:31:02 +00:00
Andrew Hind
3b68651191 More SearchService refactor. Added CMIS SQL to the search service. Tidy ups. FTS supports default namespace and templates via search parameters API. (MOB-568, MOB-569)
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@14463 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2009-05-28 10:34:51 +00:00
David Caruana
47da70f4df CMIS Relationship support in AtomPub binding
- getRelationships
- getRelationship
- createRelationship
- unit tests for above

TODO: delete relationship, includeRelationships flag

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@14461 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2009-05-27 22:11:31 +00:00
Andrew Hind
0e56f7f40c Search API updates. FTS fixes for range and dual tokenisation.
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@14419 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2009-05-22 14:36:48 +00:00
Derek Hulley
7de9315818 Reversed out revisions 14366, 14361 and 14356
- Just prior to this, created dev branch DEV/ANDY_HEAD_ROLLBACKS
 - Andy: Switch to this branch on your local copy if you have changes to any of the files modified here


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@14374 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2009-05-20 10:32:23 +00:00
Andrew Hind
3c067eca13 First pass at fixes/extensions/tidy ups to the search API - part of wiring FTS up as a query language MOB-568
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@14361 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2009-05-19 14:06:15 +00:00
Mark Rogers
495e767906 Implementing Web Site Group Membership.
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@14342 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2009-05-18 12:44:04 +00:00
Gavin Cornwell
b19cad46de Initial cut of IMAP support (disabled by default, to enable move imap sample files into extension folder)
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@14279 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2009-05-12 13:41:08 +00:00
Kevin Roast
f0a15e5af7 Share Admin Console - Users tool improvements and fixes:
- First cut of CRUD operations for Users now all completed
 - Refactoring of UI refresh code
Refactor of Person PUT REST API from Java to JavaScript implementation to match POST operation for easier future changes and fixes ETHREEOH-2067.
Person PUT API now supports addition and removal of Groups from a Person.

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@14267 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2009-05-11 15:15:14 +00:00
David Caruana
749352836f Re-enable I18N CMIS tests
- add support for encoding to Mock HTTP Request in Web Script Test Server
- tests run in default encoding (UTF-8), and non-default encoding (ISO-8859-1)
- also run AtomPub Client test suite (which has some I18N tests too)

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@14233 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2009-05-07 13:31:37 +00:00
David Caruana
77014f951d Temporarily disable I18N tests.
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@14228 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2009-05-07 10:28:46 +00:00
David Caruana
fe75d397a6 Abdera CMIS Extension tidy up:
- move from package org.apache.abdera.ext.cmis to org.alfresco.abdera.ext.cmis (note: apparently, it's not permitted to use org.apache package, unless an Apache project)
- fill in some extra 0.61 pieces
- sort out comments

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@14217 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2009-05-06 15:31:20 +00:00
David Caruana
fff75d6076 Fix test. Depends on partial Spring context initialisation which is not reliable. Removed dependency as it only requires a small helper class which can be constructed manually in test.
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@14206 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2009-05-06 13:29:19 +00:00
David Caruana
46661c29d4 Merged DEV/CMIS0_61 to HEAD (final part)
14168 Minor fixes for issues found at CMIS PlugFest:
  - test framework: allow remote requests without authentication headers
  - test framework: validate requests toggle was not working; always treated as true
  - web services: expose root document, folder, policy and relationship types in getTypeDefinitions()

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@14178 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2009-05-01 21:33:09 +00:00
David Caruana
a8603091e9 Merged DEV/CMIS0_61 to HEAD (part 4)
14095 CMIS 0.61 Web Services Including Tests & JavaClient
 14123 Several Minor Fixes

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@14177 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2009-05-01 21:22:09 +00:00
David Caruana
6dda4bdf13 Merged DEV/CMIS0_61 to HEAD (part 3)
14069 Introduce CMIS v0.61 XSDs
  - fix samples that don't validate
 14073 CMISTests passing, complying with 0.61 XSDs.
 14078 CMIS v0.61 data model and AtomPub binding API compliance.
  - delta from 0.6 recorded in changes_v0.6_to_v0.61.txt
  - updated CMIS test harness
  - tests pass
  - added Patch request type to Web Script test server
 14079 Allow for HTTP PATCH method for remote Web Script tests.

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@14176 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2009-05-01 21:01:28 +00:00
David Caruana
9379d6e414 Merged DEV/CMIS0_61 to HEAD (part 2)
14002 Removed use of Headers as arguments in CMIS AtomPub binding
  - as removed in CMIS 0.6 spec
  - removed associated tests
  - fixed encoding issue in web script test harness logging
  - removed very old .XSDs that were lying around
 14006 Obsolete.
 14022 Suport for multi-valued properties in CMIS AtomPub binding
  - support in all read, write and query methods
  - added multi-valued tests to CMISCustomTypeTest
  - fix workaround for null property values in CMIS freemarker template
  - update to Abdera CMIS Extension to handle multi-valued properties

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@14175 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2009-05-01 20:40:35 +00:00
David Caruana
488f3c2e80 Merged DEV/CMIS0_61 to HEAD (part 1)
13973 Replace CMIS XSDs / Sample XML files with 0.6 versions.
  - fix issues with some of the samples
  - CMISSchemaTest passes
 13981 AtomPub binding complies with CMIS v0.6 XSDs and Namepaces.
  - Tests passing
 13982 Running list of implemented changes between CMIS v0.5 and v0.6
 13986 AtomPub binding comply with CMIS v0.6 data model & API (part 1)
 - Tests are passing

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@14172 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2009-05-01 19:56:39 +00:00
Jan Vonka
ee6b8d2c7c Line-endings only
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@14164 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2009-05-01 12:59:21 +00:00
Jan Vonka
6c00f407db MOB-822 - Activity feed generator - optimise to use embedded calls (as alternative to existing remote repo callbacks)
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@14163 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2009-05-01 12:57:04 +00:00
Kevin Roast
126fc1ebbb First parts of Create User functionality in new Admin Console.
- Can create new users - no form validation etc. yet.
 - User password is set.
ChangePassword webscript improved to support admin user setting a user password without knowing the old one.
JavaScript People API fixes.

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@14097 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2009-04-28 08:57:04 +00:00
Kevin Roast
1a77817c0e Script and Template processor extension object support for Presentation tier.
- Additional root scope java objects can now be configured in for use by plain web-tier WebScripts, SURF components and SURF templates.
 - Initial config files provided for SURF web-framework - script/template services context
 - Also the first steps towards pluggable script/template processing engines for WebScripts

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@14076 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2009-04-23 15:13:09 +00:00
Gavin Cornwell
9a6392b4c2 Merged 3.1 to HEAD
13841: Build fix
   13988: Applied patch for ETHREEOH-1620 (webdav issues with WebSphere)
   13993: Partial (UI portion) fix for ETHREEOH-1500: Remove visibility of Workflow items
   13995: Fix for ETHREEOH-1883: Start advanced workflow wizard lists the WCM 'Direct Submit to Staging' workflow as one of the selectable workflows
   14061: Fix for ETHREEOH-1891: Form repeat element not working in 3.1

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@14070 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2009-04-23 14:07:20 +00:00
Dave Ward
01f5a926bf Refactor subsystems for authentication chaining
- An authentication chain of size 1 configured by default
- DefaultChildApplicationContextManager supports dynamic configuration of the authentication chain via Spring or JMX. Any number of instances of any type allowed in chain.
- SubsystemChainingAuthenticationComponent and SubsystemChainingAuthenticationService iterate across configured chain for Authentication
- SSO (NTLM / Kerberos) and CIFS authentication independently activatable for any component in chain (where supported).
- SubsystemChainingProxyFactory used to proxy directly to first active CIFS authenticator or SSO filter in the chain
- CIFS server knows not to bother starting if authentication chain doesn't have an active CIFS authenticator (e.g. LDAP only)
- Rationalization of subsystem configuration folder structure and JMX object naming
- Classpath based extension mechanism for community edition - alfresco/extension/subsystems/<category>/<typeName>/<id>/*.properties in classpath can be used to configure specific subsystem instances
- Simplification of JMX infrastructure. No longer Spring bean definition based, thus allowing dynamic creation/registration of new instances at runtime.
- New AuthenticationChainTest unit test

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@14030 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2009-04-21 13:29:08 +00:00
Mark Rogers
814a730155 Fix failing test case.
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@14027 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2009-04-21 10:49:56 +00:00
Gavin Cornwell
6a99a86d59 FormService improvements
- A 'dataKeyName' property has been added to the field definition to point to the corresponding data
- FormProcessors can now return a submission url to use on the client
- FormProcessors are now responsible for returning a sensible URL to represent the 'item' being processed
- Updated all affected tests

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@14021 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2009-04-20 14:53:04 +00:00
Gavin Cornwell
de74a6e44a - REST API for persisting form now returns a JSON response rather than HTML
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@14007 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2009-04-20 10:38:09 +00:00
Gavin Cornwell
67020f42c2 Updated REST API URLs following discussion last week with Roy
- To get a form definition we now POST to /api/formdefinitions
 - To persist a form we now POST to /api/item_kind/item_id/formprocessor

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@14005 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2009-04-20 09:37:44 +00:00
Gavin Cornwell
c379051889 Merged DEV/FORMS-REFACTOR branch to HEAD
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@14000 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2009-04-18 22:42:15 +00:00
Mark Rogers
695f606034 Implementation of addition of trailing * in search groups pattern
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@13994 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2009-04-17 12:25:38 +00:00
David Caruana
09c0e208c8 Merged V3.1 to HEAD
13957 Support for UsernameToken WS-Security.  Password Type 'PasswordText' with optional timestamp support.

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@13959 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2009-04-15 14:49:17 +00:00
Mark Rogers
4c99493d79 Implementation of Group REST API - update methods.
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@13946 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2009-04-14 17:13:47 +00:00
David Caruana
85278d0809 CMIS bag of stuff;:
- Add CMIS Allowable Actions to Abdera CMIS extension
- Add testAllowableActions(), testQueryAllowableActions
- Pass all AppClientTest (AtomPub server test suite) tests
- Fix encoding issues while parsing Atom requests
- Fix ignoring of Atom slug
- Fix support of pure Atom entries (those without CMIS extensions)
- Add test suite for custom sub-types / props (CMISCustomTypeTest)

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@13921 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2009-04-09 15:19:47 +00:00
Kevin Roast
063f2df8b0 Fix to painfully broken PeoplePut REST API implementation.
- it was hilariously passing a Script object directly into a Template model - useful.
 - due to some recent changes the template model was finally being used in the person PUT template so this long-standing bug was triggered

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@13901 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2009-04-08 12:49:22 +00:00
Mark Rogers
9444be11a4 Build fix - temprary remove test for GroupsTest.getChildren
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@13899 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2009-04-08 08:40:24 +00:00
Mark Rogers
5f04d21556 First cut REST group api - read methods working.
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@13891 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2009-04-07 15:36:16 +00:00
Jan Vonka
e14d7455b6 Increase submit delay by 5s (remote-api unit test this time)
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@13885 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2009-04-07 14:02:59 +00:00
David Caruana
ee3eb7d5d4 CMIS setContentStream()
- implemented as a web script
- complements the "get content" web script; just use put against same resource
- added testContentStream() to CMISTest

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@13870 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2009-04-07 09:30:10 +00:00
David Caruana
550c29b1fa CMIS Allowable Actions (part 2)
- full coverage of includeAllowableActions in AtomPub methods as per spec
- add testQueryAllowableActions()

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@13842 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2009-04-06 11:21:37 +00:00
Roy Wetherall
54e04b16ea Fixed up Person service unit test.
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@13840 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2009-04-06 11:03:28 +00:00
Neil McErlean
30fe241941 More test cases for child association persistence in forms
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@13837 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2009-04-06 10:29:05 +00:00
Neil McErlean
440d00407f Persistence of child associations
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@13835 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2009-04-06 10:08:10 +00:00
David Caruana
f11b1e8ffa CMIS Allowable Actions REST binding (part 1)
- add getAllowableActions()
- update getProperties(), getChildren() with includeAllowableActions flag
- testAllowableActions()

TODO:
- add includeAllowableActions flag for all other required methods
- Abdera extension to parse allowable actions

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@13834 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2009-04-03 21:19:31 +00:00
Kevin Roast
697f6da71b The containing groups for a user can now be optionally returned via the Person REST API.
Some cleanup to Person REST API templates scripts and tests.

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@13829 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2009-04-03 16:02:55 +00:00