From 4c36b2d96e728f5f124209e45f92ff614c2f2e21 Mon Sep 17 00:00:00 2001 From: Dave Ward Date: Wed, 27 Feb 2013 11:56:13 +0000 Subject: [PATCH] =?UTF-8?q?Merged=20V4.1-BUG-FIX=20to=20HEAD=20=20=20=2044?= =?UTF-8?q?918:=20Fix=20for=20ALF-14850=20Opencmis=20getTotalNumItems=20do?= =?UTF-8?q?esn't=20return=20the=20correct=20result=20when=20setting=20MaxI?= =?UTF-8?q?temsPerPage=20=20=20=20-=20correctly=20report=20the=20max=20num?= =?UTF-8?q?ber=20of=20items=20=20=20=2044927:=20ALF-16254=20("Leave=20Site?= =?UTF-8?q?"=20behaviour=20for=20group=20based=20site=20membership)=20=20?= =?UTF-8?q?=20=2044931:=20Merged=20V3.4-BUG-FIX=20to=20V4.1-BUG-FIX=20(REC?= =?UTF-8?q?ORD=20ONLY)=20=20=20=20=20=20=2044930:=20Merged=20V3.4=20(3.4.1?= =?UTF-8?q?2)=20to=20V3.4-BUG-FIX=20=20=20=20=20=20=20=20=20=2044929:=20Me?= =?UTF-8?q?rged=20V4.1-BUG-FIX=20to=20V3.4=20(3.4.12)=20=20=20=20=20=20=20?= =?UTF-8?q?=20=20=20=20=20=2042118:=20ALF-15878=20ALF-15741:=20generate=20?= =?UTF-8?q?doc=20and=20src=20zip=20for=20web-framework-commons=20and=20jla?= =?UTF-8?q?n=20=20=20=2044939:=20Remove=20svn:mergeinfo=20=20=20=2044985:?= =?UTF-8?q?=20Merged=20DEV=20to=20V4.1-BUG-FIX=20=20=20=20=20=20=2044981:?= =?UTF-8?q?=20ALF-17085=20:=20DB2:=20unexpected=20index=20found=20in=20dat?= =?UTF-8?q?abase=20=20=20=20=20=20=20=20=20=20Correcting=20db=20structure?= =?UTF-8?q?=20after=20upgrade=20from=203.4.=20Optional=20statement=20was?= =?UTF-8?q?=20added.=20=20=20=2044988:=20Merged=20DEV=20to=20V4.1-BUG-FIX?= =?UTF-8?q?=20=20=20=20=20=20=2044937:=20ALF-16756:=20WebDAV:=20An=20error?= =?UTF-8?q?=20occurs=20on=20drag&drop=20content=20from=20local=20machine?= =?UTF-8?q?=20to=20alfresco=20when=20inbound=20move=20rule=20configured.?= =?UTF-8?q?=20=20=20=20=20=20=20=20=20=20Add=20check=20for=20content=20dat?= =?UTF-8?q?a=20length=20during=20determining=20existence=20of=20content=20?= =?UTF-8?q?on=20node.=20=20=20=2044989:=20Merged=20PATCHES/V4.1.3=20to=20V?= =?UTF-8?q?4.1-BUG-FIX=20=20=20=20=20=20=2044984:=20Merged=20DEV=20to=20PA?= =?UTF-8?q?TCHES/V4.1.3=20=20=20=20=20=20=20=20=20=2044983:=20ALF-12425:?= =?UTF-8?q?=20Can't=20launch=20activiti=20workflow=20console=20from=20Shar?= =?UTF-8?q?e=20when=20external=20/=20ntlm=20/=20kerberos=20authentication?= =?UTF-8?q?=20is=20used.=20=20=20=20=20=20=20=20=20=20In=20activiti-admin.?= =?UTF-8?q?get.js=20generated=20an=20absolute=20URL=20.=20Use=20=20url.ser?= =?UTF-8?q?ver=20+=20url.context=20=20instead=20of=20/alfresco.=20=20=20?= =?UTF-8?q?=20=20=20=2044986:=20(RECORD=20ONLY)=20Merged=20DEV=20to=20PATC?= =?UTF-8?q?HES/V4.1.3=20=20=20=20=20=20=20=20=20=2044937:=20ALF-16756:=20W?= =?UTF-8?q?ebDAV:=20An=20error=20occurs=20on=20drag&drop=20content=20from?= =?UTF-8?q?=20local=20machine=20to=20alfresco=20when=20inbound=20move=20ru?= =?UTF-8?q?le=20configured.=20=20=20=20=20=20=20=20=20=20Add=20check=20for?= =?UTF-8?q?=20content=20data=20length=20during=20determining=20existence?= =?UTF-8?q?=20of=20content=20on=20node.=20=20=20=20=20=20=2044987:=20ALF-1?= =?UTF-8?q?7331=2060k=20Site=20Performance:=20Admin=20Console=20|=20Groups?= =?UTF-8?q?=20|=20Browse=20Groups=20(include=20sys=20groups):=20Pagination?= =?UTF-8?q?=20doesn't=20work=20correctly=20=20=20=2045008:=20ALF-17300=20-?= =?UTF-8?q?=20ConcurrentModificationException=20=20=20=2045011:=20BDE-103?= =?UTF-8?q?=20-=20Timezone=20test=20fail=20when=20not=20run=20from=20the?= =?UTF-8?q?=20UK=20(at=20least=20from=20Maven=20build)=20=20=20=2045054:?= =?UTF-8?q?=20Merged=20from=20DEV=20to=20V4.1-BUG-FIX=20=20=20=20=20=20ALF?= =?UTF-8?q?-13312=20-=20If=20the=20license=20does=20not=20exist,=20please?= =?UTF-8?q?=20specify=20in=20the=20error=20message=20=20=20=2045055:=20Fix?= =?UTF-8?q?=20for=20ALF-13921.=20Description=20of=20the=20web=20project=20?= =?UTF-8?q?is=20not=20updated.=20=20=20=2045063:=20Slight=20improvement=20?= =?UTF-8?q?to=20test=20code=20as=20part=20of=20ALF-15413.=20=20=20=20=20?= =?UTF-8?q?=20Changing=20test=20code=20to=20get=20companyHome=20from=20rep?= =?UTF-8?q?ositoryHelper=20rather=20than=20Lucene=20query,=20which=20doesn?= =?UTF-8?q?'t=20work=20on=20a=20dev=20box=20with=20ill-configured=20SOLR/L?= =?UTF-8?q?ucene.=20=20=20=2045170:=20Merged=20PATCHES\V4.1.3=20to=20BRANC?= =?UTF-8?q?HES\DEV\V4.1-BUG-FIX=20=20=20=20=20=20=20=2045161:=20Fix=20for?= =?UTF-8?q?=20=20=20=20=20ALF-17341=20=20CLONE=20-=20Hyphen=20not=20handle?= =?UTF-8?q?d=20correctly=20in=20cmis-alfresco=20search=20for=20Aspects/typ?= =?UTF-8?q?es=20:=20"=20no=20viable=20alternative=20at=20character=20'a'?= =?UTF-8?q?=20"=20=20=20=2045192:=20Merged=20BRANCHES/DEV/V3.4-BUG-FIX=20t?= =?UTF-8?q?o=20BRANCHES/DEV/V4.1-BUG-FIX:=20=20=20=20=20=20=2045187:=20(RE?= =?UTF-8?q?CORD=20ONLY)=20Fix=20for=20ALF-16997=20Discrepancies=20between?= =?UTF-8?q?=20standalone=20and=20cluster=20ehcache=20config=20=20=20=20453?= =?UTF-8?q?12:=20Merged=20V4.0.2=20(4.0.2.23-24)=20to=20V4.1-BUG-FIX=20(4.?= =?UTF-8?q?1.4)=20=20=20=20=20=20=2044912:=20MNT-248=20-=204.0.2.22=20HOT?= =?UTF-8?q?=20FIX:=20Extra=20version=20is=20created=20saving=20changes=20i?= =?UTF-8?q?n=20OpenOffice=20document=20via=20CIFS=20=20=20=20=20=20=204496?= =?UTF-8?q?4:=20Merged=20DEV=20to=20PATCHES/V4.0.2=20=20=20=20=20=20=20=20?= =?UTF-8?q?=20=2044963:=20MNT-263=20:=20CLONE=20-=20CIFS:=20Image=20docume?= =?UTF-8?q?nt=20version=20history=20lost=20after=20saving=20content=20in?= =?UTF-8?q?=20Preview=20on=20Mac=20Mountain=20Lion=20=20=20=20=20=20=20=20?= =?UTF-8?q?=20=20Fix=20for=20"Preview"=20shuffle=20scenario=20on=20Mac=20M?= =?UTF-8?q?ountain=20Lion.=20New=20ScenarioDoubleRenameShuffle=20scenario?= =?UTF-8?q?=20was=20added=20for=20pattern=20.*\.sb(-[A-Za-z0-9]*){2}.=20Un?= =?UTF-8?q?it=20test=20for=20correspomding=20scenario=20was=20added.=20=20?= =?UTF-8?q?=20=20=20=20=2045037:=20Remove=20PID=20check=20from=20byte=20ra?= =?UTF-8?q?nge=20lock=20list=20checks.=20MNT-266.=20=20=20=20=20=20=204528?= =?UTF-8?q?6:=20MNT-277=20-=20CIFS:=20Input/output=20error=20during=20savi?= =?UTF-8?q?ng=20ods=20file=20via=20OpenOffice.=20(Linux=20Specific)=20=20?= =?UTF-8?q?=20=2045319:=20NORWEGIAN:=20Translation=20updates.=20=20=20=204?= =?UTF-8?q?5338:=20Merged=20V4.1.3=20(4.1.3)=20to=20V4.1-BUG-FIX=20(4.1.4)?= =?UTF-8?q?=20=20=20=20=20=20=2045186:=20ALF-17303:=20fix=20naming=20misma?= =?UTF-8?q?tch=20when=20deploying=20alfresco-enterprise-repository=20artif?= =?UTF-8?q?actId=20to=20Maven=20=20=20=20=20=20=2045247:=20Part=202:=20Bet?= =?UTF-8?q?ter=20fix=20for=20=20=20=20=20ALF-16359=20Fix=20SOLR=20logging?= =?UTF-8?q?=20in=20production=20and=20other=20environments=20=20=20=20=20?= =?UTF-8?q?=20=2045265:=20ALF-17337=20Read=20time=20out=20when=20browsing?= =?UTF-8?q?=20trash=20can=20=20=20=20=20=20=2045298:=20ALF-17389:=20Merged?= =?UTF-8?q?:=20CLOUD1=20to=20V4.1.3=20=20=20=20=20=20=20=20=20=2045082:=20?= =?UTF-8?q?CLOUD-1139:=20Cloud=20feednotifier=20running=20on=202=20boxes?= =?UTF-8?q?=20=20=20=20=20=20=20=20=20=20-=20FeedNotifierImpl=20modified?= =?UTF-8?q?=20to=20use=20reliable=20lock=20refresh=20=20=20=20=20=20=20=20?= =?UTF-8?q?=20=20-=20Added=20additional=20debug=20logging=20to=20AbstractU?= =?UTF-8?q?serNotifier=20just=20in=20case=20we=20have=20to=20prove=20dupli?= =?UTF-8?q?cate=20entries=20are=20still=20being=20processed=20=20=20=20=20?= =?UTF-8?q?=20=20=20=20=20-=20For=20full=20debug=20logging=20set=20=20=20?= =?UTF-8?q?=20=20=20=20=20=20=20=20=20=20log4j.logger.org.alfresco.repo.ac?= =?UTF-8?q?tivities.feed.FeedNotifier=3Ddebug=20=20=20=20=20=20=20=20=20?= =?UTF-8?q?=20-=20Happy=20New=20Year!=20=20=20=2045355:=20ALF-17389:=20Fix?= =?UTF-8?q?=20build=20error=20=20=20=2045357:=20Fix=20for=20=20=20=20=20AL?= =?UTF-8?q?F-17430=20=20CMIS=20valid=20relationships=20do=20not=20check=20?= =?UTF-8?q?the=20source=20and=20target=20are=20valid=20CMIS=20docs=20or=20?= =?UTF-8?q?folders.=20=20=20=2045363:=20Merge=20CLOUD1-BUG-FIX=20to=20V4.1?= =?UTF-8?q?-BUG-FIX=20=20=20=20=20=2042576=20:=20Job=20Locking=20of=20Post?= =?UTF-8?q?Lookup=20=20=20=2045367:=20Build=20fix=20corrections=20to=20mer?= =?UTF-8?q?ge=2045363=20=20=20=2045381:=20ALF-17389=20:=20Implementing=20A?= =?UTF-8?q?ctivities=20Job=20Lock.=20=20=20=2045416:=20Merged=20V4.1.3=20(?= =?UTF-8?q?4.1.3)=20to=20V4.1-BUG-FIX=20(4.1.4)=20RECORD=20ONLY=20=20=20?= =?UTF-8?q?=20=20=20=2045415:=20ALF-17389:=20Merged=20V4.1-BUG-FIX=20to=20?= =?UTF-8?q?V4.1.3=20(4.1.3)=20=20=20=20=20=20=20=20=20=20<<=20Previous=20m?= =?UTF-8?q?erge=20was=20to=20the=20wrong=20branch=20>>=20=20=20=20=20=20?= =?UTF-8?q?=20=20=20=2045363:=20Merge=20CLOUD1-BUG-FIX=20to=20V4.1-BUG-FIX?= =?UTF-8?q?=20=20=20=20=20=20=20=20=20=20=20=2042576=20:=20Job=20Locking?= =?UTF-8?q?=20of=20PostLookup=20=20=20=20=20=20=20=20=20=2045367:=20Build?= =?UTF-8?q?=20fix=20corrections=20to=20merge=2045363=20=20=20=20=20=20=20?= =?UTF-8?q?=20=20=2045381:=20ALF-17389=20:=20Implementing=20Activities=20J?= =?UTF-8?q?ob=20Lock.=20=20=20=2045424:=20Merged=20BRANCHES/DEV/BELARUS/V4?= =?UTF-8?q?.1-BUG-FIX-2013=5F01=5F05=20to=20BRANCHES/DEV/V4.1-BUG-FIX:=20?= =?UTF-8?q?=20=20=20=20=20=2045235:=20ALF-15604=20:=20Oracle:=20schema=20r?= =?UTF-8?q?eference=20files=20missing=20nvarchar2=20column=20sizes=20=20?= =?UTF-8?q?=20=2045425:=20Merged=20BRANCHES/DEV/BELARUS/V4.1-BUG-FIX-2013?= =?UTF-8?q?=5F01=5F05=20to=20BRANCHES/DEV/V4.1-BUG-FIX:=20=20=20=20=20=20?= =?UTF-8?q?=2045236:=20ALF-15604=20:=20Oracle:=20schema=20reference=20file?= =?UTF-8?q?s=20missing=20nvarchar2=20column=20sizes=20=20=20=2045480:=20AL?= =?UTF-8?q?F-17224:=20There=20will=20not=20be=20a=20"pageList"=20object=20?= =?UTF-8?q?in=20the=20freemarker=20model=20if=20a=20wiki=20page=20does=20n?= =?UTF-8?q?ot=20exist=20in=20a=20site=20and=20the=20wiki=20dashlet=20will?= =?UTF-8?q?=20cause=20an=20error=20on=20the=20site=20=20=20=2045482:=20Fix?= =?UTF-8?q?ed=20ALF-11036,=20applied=20the=20patch,=20ran=20the=20tests.?= =?UTF-8?q?=20=20=20=2045485:=20ALF-17224:=20If=20the=20wiki=20page=20whic?= =?UTF-8?q?h=20was=20configured=20in=20the=20wiki=20dashlet=20will=20be=20?= =?UTF-8?q?deleted=20the=20dashlet=20will=20cause=20an=20error.=20The=20re?= =?UTF-8?q?sult=20of=20the=20call=20must=20be=20checked.=20=20=20=2045513:?= =?UTF-8?q?=20MNT-279:=20Use=20binary=20search=20in=20cached=20authority?= =?UTF-8?q?=20search=20to=20cut=20down=20search=20time=20when=20a=20group?= =?UTF-8?q?=20contains=20an=20astronomical=20number=20of=20authorities=20?= =?UTF-8?q?=20=20=20-=20Experimental=20fix=20to=20cut=20down=20on=20severe?= =?UTF-8?q?=20profiling=20hit=20=20=20=2045542:=20Fix=20for=20ALF-17443=20?= =?UTF-8?q?-=20Contributors=20cannot=20edit=20their=20own=20discussion=20r?= =?UTF-8?q?eply=20=20=20=20--This=20line,=20and=20th=20se=20below,=20will?= =?UTF-8?q?=20be=20ignored--=20=20=20=20M=20=20=20=20root/projects/remote-?= =?UTF-8?q?api/source/java/org/alfresco/repo/web/scripts/discussion/ForumP?= =?UTF-8?q?ostPut.java=20=20=20=20M=20=20=20=20root/projects/remote-api/so?= =?UTF-8?q?urce/java/org/alfresco/repo/web/scripts/discussion/DiscussionRe?= =?UTF-8?q?stApiTest.java=20=20=20=2045550:=20Merged=20V3.4-BUG-FIX=20to?= =?UTF-8?q?=20V4.1-BUG-FIX=20=20=20=20=20=20=2044920:=20ALF-11315=20remove?= =?UTF-8?q?d=20date=20localisation=20on=20blogpost.lib.ftl=20dates=20and?= =?UTF-8?q?=20corrected=20date=20format=20on=20pubDate=20within=20postlist?= =?UTF-8?q?-rss.get.rss.ftl=20(iso8601=20was=20being=20used=20instead=20of?= =?UTF-8?q?=20the=20required=20RFC822)=20=20=20=20=20=20=2044936:=20Fix=20?= =?UTF-8?q?build=20=20=20=20=20=20=2044967:=20Merged=20V3.4=20to=20V3.4-BU?= =?UTF-8?q?G-FIX=20=20=20=20=20=20=20=20=20=2044966:=20Merged=20PATCHES/V3?= =?UTF-8?q?.4.11=20to=20V3.4=20(3.4.12)=20=20=20=20=20=20=20=20=20=20=20?= =?UTF-8?q?=20=2044891:=20ALF-17339:=20Merged=20DEV=20to=20V3.4.11=20(3.4.?= =?UTF-8?q?11.2)=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=2044877:=20M?= =?UTF-8?q?NT-265:=20possible=20improvement=20to=20Alfresco=20SQL=20query?= =?UTF-8?q?=3F=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20-=20=20=20Ad?= =?UTF-8?q?d=20getOneTxnsByCommitTimeDescending=20function=20that=20makes?= =?UTF-8?q?=20efficient=20query=20to=20find=20most=20recent=20transaction?= =?UTF-8?q?=20in=20time=20range.=20=20=20=20=20=20=20=20=20=20=20=20=20449?= =?UTF-8?q?51:=20ALF-17325=20/=20MNT-274:=20Merged=20HEAD=20to=20PATCHES/V?= =?UTF-8?q?3.4.11=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=2033015:=20?= =?UTF-8?q?ALF-11837=20-=20Alfresco=204.0=20SMTP=20Inbound=20does=20not=20?= =?UTF-8?q?work=20with=20messages=20without=20From=20and=20To=20Headers.?= =?UTF-8?q?=20=20=20=20=20=20=2045191:=20Merged=20BRANCHES/V3.4=20to=20BRA?= =?UTF-8?q?NCHES/DEV/V3.4-BUG-FIX:=20=20=20=20=20=20=20=20=20=2045172:=20F?= =?UTF-8?q?ixed=20ALF-16140:=20Blank=20filetype=20icon=20is=20displayed=20?= =?UTF-8?q?for=20tiff=20image=20=20=20=20=20=20=2045436:=20Merged=20HEAD?= =?UTF-8?q?=20to=20BRANCHES/DEV/V3.4-BUG-FIX:=20=20=20=20=20=20=20=20=20?= =?UTF-8?q?=2031107:=20Google=20Docs=20SSL=20error=20=20=20=20=20=20=20=20?= =?UTF-8?q?=20=20=20=20=20=20*=20Fixed=20SSL=20required=20error=20that=20h?= =?UTF-8?q?as=20appeared=20recently.=20=20=20=20=20=20=20=20=20=20=20=20?= =?UTF-8?q?=20=20*=20Google=20seemingly=20no=20longer=20supports=20non=20s?= =?UTF-8?q?ecure=20access=20to=20GDoc=20API.=20=20=20=20=20=20=20=20=20=20?= =?UTF-8?q?=20=20=20=20*=20Default=20URL's=20fixed=20up.=20=20=20=20=20=20?= =?UTF-8?q?=2045547:=20Merged=20V3.4=20to=20V3.4-BUG-FIX=20=20=20=20=20=20?= =?UTF-8?q?=20=20=20=2045166:=20ALF-17339:=20Merged=20V3.4.11=20(3.4.11.4)?= =?UTF-8?q?=20to=20V3.4=20(3.4.12)=20=20=20=20=20=20=20=20=20=20=20=20=204?= =?UTF-8?q?5162:=20Merged=20DEV=20to=20V3.4.11=20(3.4.11.4)=20=20=20=20=20?= =?UTF-8?q?=20=20=20=20=20=20=20=20=20=20=2044877:=20MNT-275=20Possible=20?= =?UTF-8?q?issue=20with=20MNT-265=20fix=20=20=20=20=20=20=20=20=20=20=20?= =?UTF-8?q?=20=20=20=20=20=20=20=20-=20SQL=20from=20original=20HF=20should?= =?UTF-8?q?=20have=20used=20<=20rather=20than=20<=3D=20for=20upper=20time?= =?UTF-8?q?=20limit.=20=20=20=20=20=20=20=20=20=2045230:=20Merged=20DEV=20?= =?UTF-8?q?to=20V3.4=20(3.4.12)=20=20=20=20=20=20=20=20=20=20=20=20=204520?= =?UTF-8?q?3:=20ALF-16992=20:=20patch.fixAclInheritance=20is=20failing=20o?= =?UTF-8?q?n=20sharedAclsThatDoNotInheritCorrectlyFromThePrimaryParent=20?= =?UTF-8?q?=20=20=20=20=20=20=20=20=20=20=20=20Ignoring=20of=20repeated=20?= =?UTF-8?q?ACL=20added=20=20=20=20=20=20=20=20=20=2045233:=20Mark=20the=20?= =?UTF-8?q?NFS=20server=20as=20active=20during=20startup.=20ALF-16228.=20?= =?UTF-8?q?=20=20=20=20=20=20=20=20=2045287:=20ALF-12145=20Calendar=20auto?= =?UTF-8?q?complete=20for=20advanced=20search=20form=20incorrectly=20handl?= =?UTF-8?q?es=20zeros=20=20=20=20=20=20=20=20=20=2045380:=20ALF-17461:=20T?= =?UTF-8?q?here=20is=20different=20size=20of=20wcm-bootstrap-context.xml?= =?UTF-8?q?=20file=20from=20installer=20and=20archive=20=20=20=20=20=20=20?= =?UTF-8?q?=20=20=20-=20Replicated=20changes=20from=20ALF-11644=20to=20Bit?= =?UTF-8?q?rock-installed=20copy=20of=20wcm-bootstrap-context.xml=20=20=20?= =?UTF-8?q?=20=20=20=20=20=20=2045454:=20ALF-17396,=20ALF-13805:=20Merged?= =?UTF-8?q?=20V4.1-BUG-FIX=20(4.1.4)=20to=20V3.4=20(3.4.12)=20=20=20=20=20?= =?UTF-8?q?=20=20=20=20=20=20=20=20Revision:=2045452=20=20=20=20=20=20=20?= =?UTF-8?q?=20=20=20=20=20=20Author:=20kroast=20=20=20=20=20=20=20=20=20?= =?UTF-8?q?=20=20=20=20Date:=2016=20January=202013=2009:59:45=20=20=20=20?= =?UTF-8?q?=20=20=20=20=20=20=20=20=20Message:=20=20=20=20=20=20=20=20=20?= =?UTF-8?q?=20=20=20=20Corrected=20config=20check=20for=20ALF-16413=20-=20?= =?UTF-8?q?Share=20asks=20for=20Basic-Auth=20while=20not=20needed=20trying?= =?UTF-8?q?=20to=20access=20RSS=20feeds=20(thus=20breaking=20SSO).=20=20?= =?UTF-8?q?=20=20=20=20=20=20=20=20=20=20=20----=20=20=20=20=20=20=20=20?= =?UTF-8?q?=20=20=20=20=20Modified=20:=20/alfresco/BRANCHES/DEV/V4.1-BUG-F?= =?UTF-8?q?IX/root/projects/slingshot/source/java/org/alfresco/web/site/se?= =?UTF-8?q?rvlet/SlingshotFeedController.java=20=20=20=20=20=20=20=20=20?= =?UTF-8?q?=2045491:=20Merge=20DEV=20to=20V3.4=20(V3.4.12)=20=20=20=20=20?= =?UTF-8?q?=20=20=20=20=20=20=20=2045473:=20ALF-11956:=20WCM=20accessibili?= =?UTF-8?q?ty=20=20=20=20=20=20=20=20=20=20=20=20=20DOJO=20time=20picker?= =?UTF-8?q?=20has=20been=20fixed=20to=20allow=20selection=20of=20hours=20a?= =?UTF-8?q?nd=20minutes,=20using=20keyboard.=20Missing=20JavaScript=20key?= =?UTF-8?q?=20event=20handlers=20have=20been=20added.=20=20=20=20=20=20=20?= =?UTF-8?q?=20=20=20=20=20=20CSS=20class=20checking=20has=20been=20fixed?= =?UTF-8?q?=20in=20'alfresco.xforms.FocusResolver'=20in=20'xforms.js'=20to?= =?UTF-8?q?=20support=20all=20versions=20of=20IE.=20Some=20other=20minor?= =?UTF-8?q?=20changes...=20=20=20=20=20=20=20=20=20=2045543:=20Merged=20V4?= =?UTF-8?q?.1=20to=20V3.4=20=20=20=20=20=20=20=20=20=20=20=20=2044743:=20A?= =?UTF-8?q?LF-17533=20/=20ALF-17117:=20Created=20article=20or=20publicatio?= =?UTF-8?q?n=20cant=20be=20viewed=20on=20WQS=20site=20=20=20=20=20=20=20?= =?UTF-8?q?=20=20=20=20=20=20-=20Further=20corrections=20to=20locking=20to?= =?UTF-8?q?=20avoid=20deadlocks=20=20=20=20=20=20=20=20=20=20=20=20=204468?= =?UTF-8?q?2:=20ALF-17512=20/=20ALF-17118=20WQS:=20Impossible=20to=20uploa?= =?UTF-8?q?d=20document=20to=20publications=20space=20=20=20=20=20=20=20?= =?UTF-8?q?=20=20=20=20=20=20=20=20=20-=20Only=20first=20part=20to=20do=20?= =?UTF-8?q?with=20the=20transformation=20failure=20has=20been=20committed.?= =?UTF-8?q?=20=20=20=20=20=20=20=20=20=20=20=20=2044653:=20ALF-17533=20/?= =?UTF-8?q?=20ALF-17117:=20Created=20article=20or=20publication=20cant=20b?= =?UTF-8?q?e=20viewed=20on=20WQS=20site=20=20=20=20=20=20=20=20=20=20=20?= =?UTF-8?q?=20=20-=20Missed=20file=20from=20previous=20checkin=20=20=20=20?= =?UTF-8?q?=20=20=20=20=20=20=20=20=2044652:=20ALF-17533/=20ALF-17117:=20C?= =?UTF-8?q?reated=20article=20or=20publication=20cant=20be=20viewed=20on?= =?UTF-8?q?=20WQS=20site=20=20=20=20=20=20=20=20=20=20=20=20=20-=20Fixes?= =?UTF-8?q?=20by=20Dmitry=20Vaserin=20=20=20=20=20=20=20=20=20=20=20=20=20?= =?UTF-8?q?-=20Removed=20unnecessary=20outer=20read=20locks=20from=20getRe?= =?UTF-8?q?latedAssets=20and=20getRelatedAsset=20to=20prevent=20deadlock?= =?UTF-8?q?=20=20=20=20=20=20=20=20=20=20=20=20=20-=20Correct=20markup=20e?= =?UTF-8?q?rror=20when=20node=20doesn't=20have=20tags=20=20=20=20=20=20=20?= =?UTF-8?q?=20=20=2045546:=20ALF-17512:=20Corrections=20to=20property=20na?= =?UTF-8?q?mes=20by=20Pavel=20=20=20=20=20=20=2045548:=20Merged=20V3.4=20t?= =?UTF-8?q?o=20V3.4-BUG-FIX=20(RECORD=20ONLY)=20=20=20=20=20=20=20=20=20?= =?UTF-8?q?=2044977:=20Merged=20V3.4-BUG-FIX=20to=20V3.4=20=20=20=20=20=20?= =?UTF-8?q?=20=20=20=20=20=20=2044936:=20Fix=20build=20=20=20=2045553:=20M?= =?UTF-8?q?erged=20V3.4-BUG-FIX=20to=20V4.1-BUG-FIX=20(RECORD=20ONLY)=20?= =?UTF-8?q?=20=20=20=20=20=2045523:=20Merged=20BRANCHES/DEV/V4.1-BUG-FIX?= =?UTF-8?q?=20to=20BRANCHES/DEV/V3.4-BUG-FIX:=20=20=20=20=20=20=20=20=20?= =?UTF-8?q?=2045482:=20Fixed=20ALF-11036,=20applied=20the=20patch,=20ran?= =?UTF-8?q?=20the=20tests.=20=20=20=2045557:=20Merged=20V3.4-BUG-FIX=20to?= =?UTF-8?q?=20V4.1-BUG-FIX=20(RECORD=20ONLY)=20=20=20=20=20=20=2045556:=20?= =?UTF-8?q?Merged=20V3.4=20to=20V3.4-BUG-FIX=20=20=20=20=20=20=20=20=20=20?= =?UTF-8?q?45554:=20Latest=20translations=20from=20Gloria=20for=20revision?= =?UTF-8?q?=2045205=20=20=20=2045568:=20Merged=20PATCHES/V4.1.3=20to=20V4.?= =?UTF-8?q?1-BUG-FIX=20=20=20=20=20=20=2045421:=20Merged=20HEAD=20to=20PAT?= =?UTF-8?q?CHES\V4.1.3=20=20=20=20=20=20=20=20=20=20=2044243:=20Merged=20B?= =?UTF-8?q?RANCHES\DEV\AUTH=5FBRIDGE=20to=20HEAD=20=20=20=20=20=20=20=20?= =?UTF-8?q?=20=20=20=20=20=20=2043735:=20Final=20part=20of=20ALF-14861=20?= =?UTF-8?q?=09=20=20SOLR=20to=20scale=20for=20non-admin=20users=20in=20100?= =?UTF-8?q?k=20sites=20and=20a=20subgroup=20of=20each=20of=201000=20indepe?= =?UTF-8?q?ndent=20groupings=20with=201000=20subgroups=20=20=20=20=20=20?= =?UTF-8?q?=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20ALF-17489=20=20?= =?UTF-8?q?ALF-17456=20=20=20=20=20=20=2045428:=20ALF-17455=20:=20BM-0013:?= =?UTF-8?q?=20SOAK01=5F04:=20Activities=20Feed=20Cleaner=20query=20runs=20?= =?UTF-8?q?for=20minutes=20=20=20=20=20=20=2045489:=20ALF-17455=20:=20BM-0?= =?UTF-8?q?013:=20SOAK01=5F04:=20Activities=20Feed=20Cleaner=20query=20run?= =?UTF-8?q?s=20for=20minutes=20=20=20=2045569:=20Merged=20PATCHES/V4.1.3?= =?UTF-8?q?=20to=20V4.1-BUG-FIX=20(RECORD=20ONLY)=20=20=20=20=20=20=204556?= =?UTF-8?q?4:=20ALF-17492:=20WebScript=20errors=20must=20contain=20useful?= =?UTF-8?q?=20information=20=20=20=20=20=20=20-=20So=20doth=20Derek=20decr?= =?UTF-8?q?ee=20=20=20=20=20=20=20-=20Copied=20in=20Surf=20revision=201217?= =?UTF-8?q?=20changes=20as=20class=20local=20to=20share.war=20to=20avoid?= =?UTF-8?q?=20pulling=20in=20any=20more=20untested=20Surf=20changes=20=20?= =?UTF-8?q?=20=2045591:=20ALF-17465=20(Document=20"social=20buttons/action?= =?UTF-8?q?s"=20not=20showing=20in=20document=20library=20page=20while=20d?= =?UTF-8?q?ocument=20is=20being=20edited=20(locked))=20=20=20=2045601:=20A?= =?UTF-8?q?LF-17433=20(Document=20detail=20version=20display=20incorrect?= =?UTF-8?q?=20document=20version=20when=20clicking=20on=20edit=20off=20lin?= =?UTF-8?q?e)=20=20=20=2045611:=20ALF-17478=20-=20MailMetadataExtracter=20?= =?UTF-8?q?does=20not=20store=20all=20Message-Recipient-Address=20=20=20?= =?UTF-8?q?=2045622:=20Merged=20HEAD=20to=20BRANCHES/DEV/V4.1-BUG-FIX:=20?= =?UTF-8?q?=20=20=20=20=20=2035614:=20ALF-17598:=20CLONE=20-=20Add=20range?= =?UTF-8?q?=20header=20support=20to=20the=20webDAV=20servlet=20=20=20=2045?= =?UTF-8?q?633:=20ALF-17469:=20JSON=20message=20sent=20back=20to=20a=20cli?= =?UTF-8?q?ent=20after=20a=20category=20creation=20is=20only=20partially?= =?UTF-8?q?=20JSON=20=20=20=20--This=20line,=20and=20th=20se=20below,=20wi?= =?UTF-8?q?ll=20be=20ignored--=20=20=20=20M=20=20=20=20category.post.json.?= =?UTF-8?q?ftl=20=20=20=2045641:=20Fix=20non-ASCII=20character=20in=20sour?= =?UTF-8?q?ce=20comment=20=20=20=2045649:=20ALF-17556=20(Share=20not=20red?= =?UTF-8?q?ering=20URL=20correctly=20in=20description=20field)=20=20=20=20?= =?UTF-8?q?45650:=20Manually=20merged=20HEAD=20to=20BRANCHES/DEV/V4.1-BUG-?= =?UTF-8?q?FIX:=20=20=20=20=20=20=20-=20Changes=20to=20StreamContent=20fro?= =?UTF-8?q?m=20merge=20of=20THOR1=5FSPRINTS=20to=20HEAD=20in=20r34698=20?= =?UTF-8?q?=20=20=2045651:=20Merged=20HEAD=20to=20BRANCHES/DEV/V4.1-BUG-FI?= =?UTF-8?q?X:=20=20=20=20=20=20=2045222:=20ALF-17599:=20CLONE=20-=20Suppor?= =?UTF-8?q?t=20For=20HTTP=20Range=20Requests=20in=20Repository=20WebScript?= =?UTF-8?q?s=20=20=20=20=20=20=20=20=20=20=20=20-=20Added=20HttpRangeProce?= =?UTF-8?q?ssor.processRange=20which=20takes=20a=20WebScriptResponse=20par?= =?UTF-8?q?ameter=20instead=20of=20HttpServletResponse=20=20=20=20=20=20?= =?UTF-8?q?=20=20=20=20=20=20-=20Changed=20HttpRangeProcessor.processSinge?= =?UTF-8?q?Range=20and=20HttpRangeProcessor.processMultiRange=20to=20accep?= =?UTF-8?q?t=20a=20generic=20Object=20parameter=20then=20cast=20to=20the?= =?UTF-8?q?=20appropriate=20WebScriptResponse=20or=20HttpServletResponse?= =?UTF-8?q?=20=20=20=20=20=20=20=20=20=20=20=20-=20Added=20Javadoc=20to=20?= =?UTF-8?q?HttpRangeProcessor.processRange=20=20=20=20=20=20=20=20=20=20?= =?UTF-8?q?=20=20-=20Changed=20StreamContent.streamContentImpl=20to=20add?= =?UTF-8?q?=20code=20from=20BaseDownloadContentServlet=20which=20does=20th?= =?UTF-8?q?e=20work=20of=20processing=20the=20range=20header=20from=20the?= =?UTF-8?q?=20request=20=20=20=20=20=20=20=20=20=20=20=20-=20Changed=20Str?= =?UTF-8?q?eamContent.streamContentImpl=20method=20signature=20to=20accept?= =?UTF-8?q?=20nodeRef=20and=20propertyQName=20parameters=20needed=20for=20?= =?UTF-8?q?multi-range=20requests=20=20=20=20=20=20=20=20=20=20=20=20-=20M?= =?UTF-8?q?odified=20methods=20which=20override=20or=20call=20StreamConten?= =?UTF-8?q?t.streamContentImpl=20for=20new=20method=20signature,=20passing?= =?UTF-8?q?=20in=20nodeRef=20and=20propertyQName=20or=20nulls=20where=20ap?= =?UTF-8?q?propriate=20=20=20=2045655:=20Merged=20DEV=20to=20V4.1-BUG-FIX?= =?UTF-8?q?=20(4.1.4)=20=20=20=20=20=20=2045565:=20ALF-17503=20:=20Lucene?= =?UTF-8?q?=20search=20with=20skipcount=20>=20hits=20fails=20when=20RM=20i?= =?UTF-8?q?s=20installed=20=20=20=20=20=20=20Return=20a=20length=3D0=20if?= =?UTF-8?q?=20a=20difference=20of=20values=20(count=20of=20finded=20result?= =?UTF-8?q?s=20and=20results,=20that=20need=20to=20skip)=20is=20<=200=20?= =?UTF-8?q?=20=20=2045672:=20ALF-17452=20(Status=20can't=20be=20updated=20?= =?UTF-8?q?with=20a=20blank=20status)=20=20=20=2045682:=20ALF-17444:=20Tra?= =?UTF-8?q?nsformation=20of=20Outlook=20files=20(.msg)=20doesn't=20work=20?= =?UTF-8?q?ootb=20=20=20=2045751:=20Merged=20DEV=20to=20VC4.1-BUG-FIX=20(4?= =?UTF-8?q?.1.4)=20=20=20=20=20=20=2045748:=20ALF-17517:=20Document=20does?= =?UTF-8?q?=20not=20revert=20to=20previous=20version=20if=20certain=20rule?= =?UTF-8?q?=20is=20applied=20to=20the=20parent=20folder.=20=20=20=20=20=20?= =?UTF-8?q?=20Check=20node=20existance=20on=20ActionExecuterAbstractBase?= =?UTF-8?q?=20execution.=20Add=20unit=20test=20for=20case=20when=20inbound?= =?UTF-8?q?=20rule=20executed=20on=20node=20that=20was=20checked=20in.=20?= =?UTF-8?q?=20=20=2045758:=20ALF-12264:=20Fixed=20issue=20with=20pooled-ta?= =?UTF-8?q?sks=20for=20groups=20with=20same=20name=20across=20tenants=20?= =?UTF-8?q?=20=20=2045761:=20Block=20r45756=20from=20being=20merged=20to?= =?UTF-8?q?=20V4.1-BUG-FIX=20=20=20=2045765:=20Fix=20for=20=20=20=20=20ALF?= =?UTF-8?q?-17153=20=20=20=20FTS=20query=20parser=20FTSQueryParser=20is=20?= =?UTF-8?q?not=20debuggable=20=20=20=2045810:=20ALF-17520:=20Open=20Docume?= =?UTF-8?q?nt=20templates=20are=20not=20tranformed=20properly=20for=20thum?= =?UTF-8?q?bnail=20and=20preview=20generation=20=20=20=2045828:=20Addition?= =?UTF-8?q?al=20fix=20for=20=20=20=20=20ALF-17153=20=20FTS=20query=20parse?= =?UTF-8?q?r=20FTSQueryParser=20is=20not=20debuggable=20=20=20=2045857:=20?= =?UTF-8?q?ALF-17516=20(SHARE:=20Admin=20console=20of=20users=20and=20grou?= =?UTF-8?q?ps)=20=20=20=2045873:=20Remove=20so-called=20intermittent=20tes?= =?UTF-8?q?t=20category,=20so=20that=20only=20RepositoryStartupTest=20rema?= =?UTF-8?q?ins=20as=20a=20gatekeeper=20=20=20=2045903:=20ALF-16611=20(When?= =?UTF-8?q?=20opening=20My=20Pages=20filter,=20a=20link=20to=20the=20renam?= =?UTF-8?q?ed=20document=20becomes=20red)=20=20=20=2045906:=20ALF-17515:?= =?UTF-8?q?=20Wrong=20mimetype=20name=20in=20mimetype-map.xml=20=20=20=20?= =?UTF-8?q?=20=20=20-=20Changed=20macroEnabled=20to=20macroenabled=20=20?= =?UTF-8?q?=20=2045913:=20ALF-17462=20(In=20Alfresco=20explorer=20invitati?= =?UTF-8?q?on=20to=20a=20site=20does=20not=20show=20the=20correct=20option?= =?UTF-8?q?s)=20=20=20=2045921:=20Fix=20for=20=20=20=20=20ALF-17421=20=20I?= =?UTF-8?q?f=20a=20property=20is=20both=20multi-valued=20and=20multilingua?= =?UTF-8?q?l=20a=20ClassCastException=20is=20thrown=20when=20Solr=20tries?= =?UTF-8?q?=20to=20index=20the=20property=20=20=20=20-=20support=20multi-v?= =?UTF-8?q?alued=20ML=20text=20but=20not=20content=20=20=20=2045926:=20Fix?= =?UTF-8?q?=20for=20=20=20=20=20ALF-17602=20=20=20=20lucene.defaultAnalyse?= =?UTF-8?q?rResourceBundleName=20is=20not=20injected=20anywhere=20in=20the?= =?UTF-8?q?=20spring=20config=20=20=20=2046024:=20Merged=20V4.1.3=20(4.1.3?= =?UTF-8?q?)=20to=20V4.1-BUG-FIX=20(4.1.4)=20=20=20=20=20=20=2045585:=20AL?= =?UTF-8?q?F-17303:=20alfresco-platform-distribution=20was=20not=20deploye?= =?UTF-8?q?d=20properly=20to=20Maven=20repo=20=20=20=20=20=20=2045621:=20R?= =?UTF-8?q?emoved=20svn:mergeinfo.=20=20A=201.7=20client=20should=20do=20t?= =?UTF-8?q?his=20automatically.=20=20=20=20=20=20=2045669:=20Fix=20ALF-175?= =?UTF-8?q?82=20-=20BM-0013:=20JMeter:=20Run=2002:=20MT=20ContentStore=20c?= =?UTF-8?q?aching=20is=20not=20thread=20safe=20=20=20=20=20=20=2045670:=20?= =?UTF-8?q?Fix=20ALF-17589=20-=20BM-0013:=20JMeter:=20Run=2002:=20CMISAbst?= =?UTF-8?q?ractDictionaryService=20caching=20of=20DictionaryRegistry=20is?= =?UTF-8?q?=20not=20thread=20safe=20=20=20=20=20=20=2045692:=20Config=20op?= =?UTF-8?q?tion=20for=20=20=20=20=20ALF-17526=20=20BM-0013:=20JMeter:=20Ru?= =?UTF-8?q?n=2002:=20Improve=20efficiency=20of=20services=20for=20SOLRAPIC?= =?UTF-8?q?lient.getNodesMetaData=20=20=20=20=20=20=20-=20preloading=20can?= =?UTF-8?q?=20be=20controlled=20+=20removed=20incorrect=20use=20of=20the?= =?UTF-8?q?=20secondary=20cache=20that=20could=20pull=20in=20stale=20data?= =?UTF-8?q?=20=20=20=20=20=20=2045705:=20Reverted=20Config=20option=20for?= =?UTF-8?q?=20=20=20=20=20ALF-17526=20=20BM-0013:=20JMeter:=20Run=2002:=20?= =?UTF-8?q?Improve=20efficiency=20of=20services=20for=20SOLRAPIClient.getN?= =?UTF-8?q?odesMetaData=20=20=20=20=20=20=20-=20preloading=20can=20be=20co?= =?UTF-8?q?ntrolled=20+=20removed=20incorrect=20use=20of=20the=20secondary?= =?UTF-8?q?=20cache=20that=20could=20pull=20in=20stale=20data=20=20=20=20?= =?UTF-8?q?=20=20=2045716:=20Fix=20for=20ALF-17594=20=09SolrTracker:=20CMI?= =?UTF-8?q?S=20model=20diff=20(show=201=20repeated=20diff)=20=3D>=20CMIS?= =?UTF-8?q?=20dictionary=20re-init=20x2=20(every=2015=20sec)=20=20=20=20?= =?UTF-8?q?=20=20=20-=20only=20refresh=20the=20CMIS=20dictionary=20if=20th?= =?UTF-8?q?ere=20was=20an=20actual=20model=20put=20=20=20=20=20=20=2045755?= =?UTF-8?q?:=20Extra=20support=20to=20make=20clear=20what=20causes=20any?= =?UTF-8?q?=20difference=20between=20SOLR=20reports=20ALF-17588=20=09BM-00?= =?UTF-8?q?13:=20JMeter:=20Run=2002:=20Deviation=20was=20detected=20in=20f?= =?UTF-8?q?ull=20index=20check=20reports=20for=20SOLR=20nodes.=20=20=20=20?= =?UTF-8?q?=20=20=20-=20also=20added=20RETRY=20command=20to=20retry=20inde?= =?UTF-8?q?xing=20any=20nodes=20that=20failed=20with=20errors.=20=20=20=20?= =?UTF-8?q?=20=20=2045803:=20Fix=20for=20=20=20=20=20ALF-17490=20Solr=20in?= =?UTF-8?q?dexation=20problem=20with=20certain=20acls=20on=20a=20customer?= =?UTF-8?q?=20environment=20=20=20=20=20=20=20-=20AclsGet=20respects=20the?= =?UTF-8?q?=20maximum=20acls=20requested=20and=20does=20not=20silently=20t?= =?UTF-8?q?runcate=20toe=201024=20=20=20=20=20=20=2045829:=20GERMAN:=20Tra?= =?UTF-8?q?nslation=20updates=20based=20on=20EN=20r45262=20=20=20=20=20=20?= =?UTF-8?q?=2045830:=20SPANISH:=20Translation=20updates=20based=20on=20EN?= =?UTF-8?q?=20r45262=20=20=20=20=20=20=2045831:=20FRENCH:=20Translation=20?= =?UTF-8?q?updates=20based=20on=20EN=20r45262=20=20=20=20=20=20=2045832:?= =?UTF-8?q?=20ITALIAN:=20Translation=20updates=20based=20on=20EN=20r45262?= =?UTF-8?q?=20=20=20=20=20=20=2045833:=20JAPANESE:=20Translation=20updates?= =?UTF-8?q?=20based=20on=20EN=20r45262=20=20=20=20=20=20=2045834:=20DUTCH:?= =?UTF-8?q?=20Translation=20updates=20based=20on=20EN=20r45262=20=20=20=20?= =?UTF-8?q?=20=20=2045835:=20RUSSIAN:=20Translation=20updates=20based=20on?= =?UTF-8?q?=20EN=20r45262=20=20=20=20=20=20=2045836:=20CHINESE:=20Translat?= =?UTF-8?q?ion=20updates=20based=20on=20EN=20r45262=20=20=20=20=20=20=2045?= =?UTF-8?q?858:=20Fix=20ALF-17634=20-on=20startup=20FeedNotifier=20fetches?= =?UTF-8?q?=20all=20people=20slowly=20=20=20=20=20=20=20-=20switch=20from?= =?UTF-8?q?=20GetChildren=20CQ=20->=20GetPeople=20CQ=20=20=20=20=20=20=204?= =?UTF-8?q?5859:=20Fix=20ALF-17634=20-on=20startup=20FeedNotifier=20fetche?= =?UTF-8?q?s=20all=20people=20slowly=20=20=20=20=20=20=20-=20reverse=20fix?= =?UTF-8?q?=20for=20this=20test=20...=20for=20now,=20until=20we=20re-imple?= =?UTF-8?q?ment=20the=20deprecated=20method=20and=20fix=20the=20test=20cas?= =?UTF-8?q?e=20;-)=20=20=20=20=20=20=2045951:=20Fix=20for=20=20=20=20=20AL?= =?UTF-8?q?F-17687=20=20BM-0013:=20Soak:=20Run=2002:=20SolrJSONResultSet?= =?UTF-8?q?=20must=20preload=20nodes=20=20=20=20=20=20=20-=20added=20node?= =?UTF-8?q?=20preload=20=20=20=20=20=20=2045952:=20SiteServiceImplTest:=20?= =?UTF-8?q?Added=20check=20that=20size=20limiting=20of=20results=20is=20wo?= =?UTF-8?q?rking=20(and=20other=20minor=20cleanup)=20=20=20=20=20=20=20459?= =?UTF-8?q?53:=20Fixed=20ALF-17702:=20BM-0013:=20Soak:=20Run=2002:=20getCa?= =?UTF-8?q?chedChildAuthorities=20is=20not=20caching=20results=20=20=20=20?= =?UTF-8?q?=20=20=20=20-=20getChildAssocs=20specifically=20checks=20for=20?= =?UTF-8?q?'members'=20associations=20(was=20eliminated=20by=20code)=20=20?= =?UTF-8?q?=20=20=20=20=20=20-=20Cache=20negative=20results=20i.e.=20when?= =?UTF-8?q?=20there=20are=20no=20children=20=20=20=20=20=20=2045969:=20Par?= =?UTF-8?q?t=20fix=20for=20=20=20=20=20ALF-17526=20=20=20BM-0013:=20Soak:?= =?UTF-8?q?=20Run=2002:=20SOLRAPIClient.getNodesMetaData=20does=20N+1=20ca?= =?UTF-8?q?lls=20to=20NodeDAO=20=20=20=20=20=20=20-=20prependPaths=20cache?= =?UTF-8?q?s=20nodes=20for=20the=20next=20layer=20=20=20=20=20=20=2045998:?= =?UTF-8?q?=20Part=202=20=20=20=20=20ALF-17526=20=20=20BM-0013:=20Soak:=20?= =?UTF-8?q?Run=2002:=20SOLRAPIClient.getNodesMetaData=20does=20N+1=20calls?= =?UTF-8?q?=20to=20NodeDAO=20=20=20=20=20=20=20-=20make=20sure=20bulk=20no?= =?UTF-8?q?de=20load=20works=20and=20that=20assocs=20are=20cached=20=20=20?= =?UTF-8?q?=20=20=20=2045999:=20Alternative=20implementation=20for=20=20?= =?UTF-8?q?=20=20=20ALF-17719=20=20BM-0013:=20Soak:=20Run=2003:=20Containe?= =?UTF-8?q?d=20authorities=20cache=20warmup=20times=20are=20restrictive=20?= =?UTF-8?q?=20=20=20=20=20=20-=20bridge=20table=20is=20the=20default=20for?= =?UTF-8?q?=20hasAuthority()=20=20-=20configurable=20on=20AuthorityService?= =?UTF-8?q?Impl=20=20=20=20=20=20=2046000:=20ALF-17574=20BM-0013:=20JMeter?= =?UTF-8?q?:=20Run=2002:=20Blocked=20threads=20on=20PDFParser.parse=20=20?= =?UTF-8?q?=20=20=20=20=20=20=20=20-=20Found=20two=20blocking=20points=20i?= =?UTF-8?q?n=20PdfBox=20to=20do=20with=20loading=20fonts=20from=20the=20cl?= =?UTF-8?q?ass=20path=20(this=20was=20the=20main=20cause)=20and=20=20=20?= =?UTF-8?q?=20=20=20=20=20=20=20=20=20the=20PDFOperator=20access=20to=20a?= =?UTF-8?q?=20Synchronised=20map=20(identified=20above=20by=20Derek).=20?= =?UTF-8?q?=20=20=20=20=20=20=20=20=20-=20Note=20in=201.7.0=20of=20PDFBox?= =?UTF-8?q?=20generally=20no=20font=20was=20loaded,=20but=20under=201.6.0?= =?UTF-8?q?=20it=20was.=20=20=20=20=20=20=20=20=20=20=20=20This=20may=20be?= =?UTF-8?q?=20a=20bug=20in=201.7.0=20=20=20=20=20=20=2046001:=20ALF-17722:?= =?UTF-8?q?=20Merged=20V3.4=20(3.4.12)=20to=20V4.1.3=20(4.1.3)=20=20=20=20?= =?UTF-8?q?=20=20=20=20=20=2045629:=20ALF-17536:=20Stack=20Specific:=20Can?= =?UTF-8?q?'t=20transform=20pdf=20to=20jpg=20=20=20=20=20=20=20=20=20=20?= =?UTF-8?q?=20=20=20-=20Added=20TRACE=20to=20log=20env=20properties=20usin?= =?UTF-8?q?g=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20log4j.logger.org.?= =?UTF-8?q?alfresco.util.exec.RuntimeExec=3Dtrace=20=20=20=20=20=20=20=20?= =?UTF-8?q?=20=2045667:=20ALF-17536=20Can't=20transform=20multi=20page=20p?= =?UTF-8?q?df=20to=20jpg=20=20=20=20=20=20=20=20=20=20=20=20=20-=20issue?= =?UTF-8?q?=20was=20introduced=20by=20ALF-15436=20Alfresco=203.4c=20+=20Sh?= =?UTF-8?q?are=20+=20TIFF=20preview=20only=20shows=20the=20first=20page=20?= =?UTF-8?q?=20=20=20=20=20=2046018:=20Merged=20HEAD=20to=20PATCHES/V4.1.3?= =?UTF-8?q?=20=20=20=20=20=20=20=20=20=2041904:=20Fixes=20bugs=20uncovered?= =?UTF-8?q?=20by=20JDK=207=20upgrade=20=20=20=20=20=20=20=20=20=20-=20node?= =?UTF-8?q?Service's=20interceptors=20depended=20on=20nodeService,=20resul?= =?UTF-8?q?ting=20in=20some=20'interesting'=20interceptor=20ordering=20in?= =?UTF-8?q?=20the=20chain=20(3=20*=20the=20normal=20number=20in=20a=20rand?= =?UTF-8?q?om=20order).=20Now=20we=20use=20a=20lazy=20interceptor=20to=20b?= =?UTF-8?q?reak=20the=20cycle.=20=20=20=20=20=20=20=20=20=20-=20When=20the?= =?UTF-8?q?=20Content=20Language=20was=20en=5FGB=20and=20an=20MLText=20pro?= =?UTF-8?q?perty=20contained=20{en=5FUS,=20en=5FGB}=20it=20would=20return?= =?UTF-8?q?=20the=20en=5FUS=20one,=20not=20taking=20country=20codes=20into?= =?UTF-8?q?=20account=20when=20available=20=20=20=20=20=20=2046023:=20Foll?= =?UTF-8?q?ow=20on=20to=20previous=20check=20in.=20Fix=20up=20evil=20cloud?= =?UTF-8?q?=20sync=20override=20of=20"nodeService"=20to=20also=20not=20suf?= =?UTF-8?q?fer=20from=20a=20cyclic=20dependency!=20=20=20=2046034:=20Merge?= =?UTF-8?q?d=20V3.4-BUG-FIX=20(3.4.13)=20to=20V4.1-BUG-FIX=20(4.1.4)=20=20?= =?UTF-8?q?=20=20=20=20=2045745:=20Merge=20V3.4=20(3.4.12)=20to=20V3.4-BUG?= =?UTF-8?q?-FIX=20(3.4.13)=20=20=20=20=20=20=20=20=20=2045629:=20ALF-17536?= =?UTF-8?q?:=20Stack=20Specific:=20Can't=20transform=20pdf=20to=20jpg=20?= =?UTF-8?q?=20=20=20=20=20=20=20=20=20=20=20=20-=20Added=20TRACE=20to=20lo?= =?UTF-8?q?g=20env=20properties=20using=20=20=20=20=20=20=20=20=20=20=20?= =?UTF-8?q?=20=20=20=20log4j.logger.org.alfresco.util.exec.RuntimeExec=3Dt?= =?UTF-8?q?race=20=20=20=20=20=20=20=20=20=2045667:=20ALF-17536=20Can't=20?= =?UTF-8?q?transform=20multi=20page=20pdf=20to=20jpg=20=20=20=20=20=20=20?= =?UTF-8?q?=20=20=20=20=20=20-=20issue=20was=20introduced=20by=20ALF-15436?= =?UTF-8?q?=20Alfresco=203.4c=20+=20Share=20+=20TIFF=20preview=20only=20sh?= =?UTF-8?q?ows=20the=20first=20page=20=20=20=20=20=20=20=20=20=2045724:=20?= =?UTF-8?q?ALF-17533=20CLONE=20-=20Created=20article=20or=20publication=20?= =?UTF-8?q?cant=20be=20viewed=20on=20WQS=20site=20=20=20=20=20=20=20=20=20?= =?UTF-8?q?=20=20=20=20-=20Further=20change=20required=20to=20avoid=20dead?= =?UTF-8?q?lock=20=20=20=20=20=20=20=20=20=2045743:=20Correction=20to=20Au?= =?UTF-8?q?ditComponentTest=20=20=20=20=20=20=20=20=20=20=20=20=20-=20Test?= =?UTF-8?q?=20was=20reporting=20"Incorrect=20number=20of=20audit=20entries?= =?UTF-8?q?=20after=20failed=20login=20expected:<1000>=20but=20was:"?= =?UTF-8?q?=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20where=20XXX=20was?= =?UTF-8?q?=20less=20than=201000.=20This=20was=20because=20results=20was?= =?UTF-8?q?=20being=20cleared=20if=20all=20all=20audit=20failures=20were?= =?UTF-8?q?=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20not=20available=20?= =?UTF-8?q?in=20the=20first=20loop.=20The=20results=20needed=20to=20cleare?= =?UTF-8?q?d=20before=20the=20first=20loop=20rather=20than=20in=20every=20?= =?UTF-8?q?=20=20=20=20=20=20=20=20=20=20=20=20=20=20loop.=20For=20example?= =?UTF-8?q?=20an=20XXX=20value=20of=20830=20would=20simply=20indicate=20th?= =?UTF-8?q?at=20the=20first=20loop=20had=20received=20170=20audit=20=20=20?= =?UTF-8?q?=20=20=20=20=20=20=20=20=20=20=20=20results=20and=20that=20a=20?= =?UTF-8?q?second=20loop=20was=20required=20to=20get=20the=20rest.=20=20?= =?UTF-8?q?=20=20=20=20=2045754:=20Merged=20V3.4=20(3.4.12)=20to=20V3.4-BU?= =?UTF-8?q?G-FIX=20(3.4.13)=20=20=20=20=20=20=20=20=20=2045747:=20Correcti?= =?UTF-8?q?on=20to=20AuditComponentTest=20=20=20=20=20=20=20=20=20=20=20?= =?UTF-8?q?=20=20-=20Okay=20last=20commit=20did=20not=20work.=20Try=20just?= =?UTF-8?q?=20waiting=20a=20bit=20longer=20than=20a=20second=20if=20we=20d?= =?UTF-8?q?on't=20have=20all=20records.=20=20=20=20=20=20=2045976:=20Merge?= =?UTF-8?q?d=20DEV=20to=20V3.4-BUG-FIX=20=20=20=20=20=20=20=20=20=2045925:?= =?UTF-8?q?=20ALF-16992=20:=20patch.fixAclInheritance=20is=20failing=20on?= =?UTF-8?q?=20sharedAclsThatDoNotInheritCorrectlyFromThePrimaryParent=20?= =?UTF-8?q?=20=20=20=20=20=20=20=20=20=20=20=20Added=20a=20detection=20on?= =?UTF-8?q?=20cyclic=20loop=20for=20"inherits=20from"=20field.=20=20=20=20?= =?UTF-8?q?46037:=20Merged=20V4.1.3=20(4.1.3)=20to=20V4.1-BUG-FIX=20(4.1.4?= =?UTF-8?q?)=20=20=20=20=20=20=2046033:=20Build=20fixes=20=20=20=20=20=20?= =?UTF-8?q?=2046032:=20ALF-17628=20(No=20information=20is=20displayed=20in?= =?UTF-8?q?=20My=20Activities=20and=20Site=20Activities=20dashlets=20for?= =?UTF-8?q?=20content=20creation)=20=20=20=2046095:=20=20=20=2046100:=20AL?= =?UTF-8?q?F-17773,=20ALF-17774,=20ALF-17775,=20ALF-17776:=20Merged=20V4.0?= =?UTF-8?q?.2=20(4.0.2.26)=20to=20V4.1-BUG-FIX=20(4.1.4)=20=20=20=20=20=20?= =?UTF-8?q?=2045469:=20MNT-280:=20Merge=20from=20HEAD=20to=20V4.0.2=20(4.0?= =?UTF-8?q?.2.25)=20=20=20=20=20=20=20=20=20=2043617:=20Fix=20for=20=20=20?= =?UTF-8?q?=20=20ALF-16795=20CMIS=200.8=20TCK=20-=20load=20of=20large=20co?= =?UTF-8?q?ntent=20fails=20=20=20=20=20=20=2045875:=20Merged=20DEV=20to=20?= =?UTF-8?q?V4.0.2=20(4.0.2.26)=20=20=20=20=20=20=20=20=20=2045874:=20MNT-2?= =?UTF-8?q?82:=20Mbean=20error=20stemming=20from=20cmis=20create.=20=20=20?= =?UTF-8?q?=20=20=20=20=20=20=20Synchronize=20initiating=20ContentStore.?= =?UTF-8?q?=20=20=20=20=20=20=20=20=20=20Add=20tenant=20name=20to=20object?= =?UTF-8?q?=20name=20of=20ContentStore=20MBean=20for=20preventing=20overri?= =?UTF-8?q?ding=20of=20tenant=20MBeans.=20=20=20=20=20=20=2045904:=20MNT-2?= =?UTF-8?q?85=20Content=20Stream=20Errors=20during=20CMIS=20load=20test=20?= =?UTF-8?q?(Continuation=20of=20MNT-280)=20=20=20=20=20=20=20=20=20=20-=20?= =?UTF-8?q?Added=20'advice'=20above=20retrying=20transactions=20to=20suppl?= =?UTF-8?q?y=20a=20ReusableContentStream=20=20=20=20=20=20=2045910:=20MNT-?= =?UTF-8?q?285=20Content=20Stream=20Errors=20during=20CMIS=20load=20test?= =?UTF-8?q?=20(Continuation=20of=20MNT-280)=20=20=20=20=20=20=20=20=20=20-?= =?UTF-8?q?=20Added=20unit=20tests=20-=20tests=20both=20new=20TempFileProv?= =?UTF-8?q?ider=20method=20and=20AlfrescoCmisStreamInterceptor=20=20=20=20?= =?UTF-8?q?=20=20=20=20=20=20-=20Corrections=20to=20interceptor=20=20=20?= =?UTF-8?q?=2046104:=20ALF-15843:=20Upgrade=20swftools=20back=20to=200.9.2?= =?UTF-8?q?=20=20=20=2046109:=20Merged=20RECORD=20ONLY=20V4.1.3=20(4.1.3)?= =?UTF-8?q?=20to=20V4.1-BUG-FIX=20(4.1.4)=20=20=20=20=20=20=2046106:=20Mer?= =?UTF-8?q?ged=20V4.1-BUG-FIX=20(4.1.4)=20to=20V4.1.3=20(4.1.3)=20=20=20?= =?UTF-8?q?=20=20=20=20=20=20=2046100:=20ALF-17773,=20ALF-17774,=20ALF-177?= =?UTF-8?q?75,=20ALF-17776:=20Merged=20V4.0.2=20(4.0.2.26)=20to=20V4.1-BUG?= =?UTF-8?q?-FIX=20(4.1.4)=20=20=20=20=20=20=20=20=20=20=20=20=2045469:=20M?= =?UTF-8?q?NT-280:=20Merge=20from=20HEAD=20to=20V4.0.2=20(4.0.2.25)=20=20?= =?UTF-8?q?=20=20=20=20=20=20=20=20=20=20=20=20=20=2043617:=20Fix=20for=20?= =?UTF-8?q?=20=20=20=20ALF-16795=20CMIS=200.8=20TCK=20-=20load=20of=20larg?= =?UTF-8?q?e=20content=20fails=20=20=20=20=20=20=20=20=20=20=20=20=2045875?= =?UTF-8?q?:=20Merged=20DEV=20to=20V4.0.2=20(4.0.2.26)=20=20=20=20=20=20?= =?UTF-8?q?=20=20=20=20=20=20=20=20=20=2045874:=20MNT-282:=20Mbean=20error?= =?UTF-8?q?=20stemming=20from=20cmis=20create.=20=20=20=20=20=20=20=20=20?= =?UTF-8?q?=20=20=20=20=20=20=20Synchronize=20initiating=20ContentStore.?= =?UTF-8?q?=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20Add=20tenant=20?= =?UTF-8?q?name=20to=20object=20name=20of=20ContentStore=20MBean=20for=20p?= =?UTF-8?q?reventing=20overriding=20of=20tenant=20MBeans.=20=20=20=20=20?= =?UTF-8?q?=20=20=20=20=20=20=20=2045904:=20MNT-285=20Content=20Stream=20E?= =?UTF-8?q?rrors=20during=20CMIS=20load=20test=20(Continuation=20of=20MNT-?= =?UTF-8?q?280)=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20-=20Added?= =?UTF-8?q?=20'advice'=20above=20retrying=20transactions=20to=20supply=20a?= =?UTF-8?q?=20ReusableContentStream=20=20=20=20=20=20=20=20=20=20=20=20=20?= =?UTF-8?q?45910:=20MNT-285=20Content=20Stream=20Errors=20during=20CMIS=20?= =?UTF-8?q?load=20test=20(Continuation=20of=20MNT-280)=20=20=20=20=20=20?= =?UTF-8?q?=20=20=20=20=20=20=20=20=20=20-=20Added=20unit=20tests=20-=20te?= =?UTF-8?q?sts=20both=20new=20TempFileProvider=20method=20and=20AlfrescoCm?= =?UTF-8?q?isStreamInterceptor=20=20=20=20=20=20=20=20=20=20=20=20=20=20?= =?UTF-8?q?=20=20-=20Corrections=20to=20interceptor=20=20=20=20=20=20=2046?= =?UTF-8?q?087:=20Merge=20V4.1-BUG-FIX=20(4.1.4)=20to=20V4.1.3=20(4.1.3)?= =?UTF-8?q?=20=20=20=20=20=20=20=20=20=2045480:=20ALF-17224:=20There=20wil?= =?UTF-8?q?l=20not=20be=20a=20"pageList"=20object=20in=20the=20freemarker?= =?UTF-8?q?=20model=20if=20a=20wiki=20page=20does=20not=20exist=20in=20a?= =?UTF-8?q?=20site=20and=20the=20wiki=20dashlet=20will=20cause=20an=20erro?= =?UTF-8?q?r=20on=20the=20site=20=20=20=2046112:=20Merged=20(4.1.3)=20to?= =?UTF-8?q?=20V4.1-BUG-FIX=20(4.1.4)=20=20=20=20=20=20=2046048:=20ALF-1772?= =?UTF-8?q?7=20-=20BM-0013:=20Soak:=20Run=2003:=20Site=20creation=20leads?= =?UTF-8?q?=20to=20contention=20on=20sites=20container=20=20=20=20=20=20?= =?UTF-8?q?=20-=20disable=20auditable=20behaviour=20on=20"sites"=20contain?= =?UTF-8?q?er=20(when=20creating=20a=20site)=20=20=20=20=20=20=2046050:=20?= =?UTF-8?q?ALF-17727=20-=20BM-0013:=20Soak:=20Run=2003:=20Site=20creation?= =?UTF-8?q?=20leads=20to=20contention=20on=20sites=20container=20=20=20=20?= =?UTF-8?q?=20=20=20-=20disable=20auditable=20behaviour=20on=20"sites"=20c?= =?UTF-8?q?ontainer=20(when=20deleting=20a=20site)=20=20=20=20=20=20=20460?= =?UTF-8?q?55:=20ALF-17729=20-=20BM-0013:=20Soak:=20Run=2003:=20ADMRemoteS?= =?UTF-8?q?tore=20optimization=20to=20reduce=20contention=20on=20share=20f?= =?UTF-8?q?olders=20=20=20=20=20=20=20-=20disable=20auditable=20behaviour?= =?UTF-8?q?=20on=20parent=20folder=20(when=20creating=20/=20deleting=20fil?= =?UTF-8?q?e)=20=20=20=20=20=20=2046059:=20Fixed=20ALF-17756:=20Thumbnails?= =?UTF-8?q?=20are=20being=20indexed=20=20=20=20=20=20=20=20-=20Add=20the?= =?UTF-8?q?=20cm:indexControl=20aspect=20to=20thumbnails=20at=20creation?= =?UTF-8?q?=20time=20=20=20=20=20=20=20=20-=20Also=20prevent=20timestamp?= =?UTF-8?q?=20propagation=20when=20adding=20or=20removing=20thumbnails=20?= =?UTF-8?q?=20=20=20=20=20=2046077:=20Following=20on=20from=20rev=2046059?= =?UTF-8?q?=20(ALF-17756):=20Fixed=20up=20the=20mock=20NodeService.createN?= =?UTF-8?q?ode=20call=20as=20we=20now=20pass=20in=20indexControl=20propert?= =?UTF-8?q?ies=20=20=20=20=20=20=2046078:=20Build=20fix=20for=20SiteServic?= =?UTF-8?q?eImplTest.testGroupMembership(SiteServiceImplTest.java:1308)=20?= =?UTF-8?q?=20=20=20=20=20=2046079:=20Additional=20fix=20for=20out=20of=20?= =?UTF-8?q?transaction=20tests=20=20=20=2046124:=20Reverse=20merge=20=20?= =?UTF-8?q?=20=20=20=20=20<<=20Will=20A.=20did=20not=20intend=20to=20commi?= =?UTF-8?q?t=20this=20>>=20=20=20=20=20=20=2046095:=20=20=20=2046159:=20Fi?= =?UTF-8?q?xed=20ALF-16889,=20Enabled=20cookie=20support=20for=20/wcs/api/?= =?UTF-8?q?login,=20independent=20from=20SSOAuthenticationFilter,=20on=20b?= =?UTF-8?q?y=20default.=20=20=20=2046165:=20Fix=20for=20ALF-17787=20-=20Si?= =?UTF-8?q?te=20Members=20'All=20Members'=20link=20should=20not=20run=20qu?= =?UTF-8?q?ery=20immediately=20=20=20=2046169:=20Fix=20for=20ALF-17787=20-?= =?UTF-8?q?=20Site=20Members=20'All=20Members'=20link=20should=20not=20run?= =?UTF-8?q?=20query=20immediately=20-=20missing=20file=20=20=20=2046184:?= =?UTF-8?q?=20Refactoring=20a=20test=20class=20to=20use=20JUnit=20Rules=20?= =?UTF-8?q?-=20as=20part=20of=20attempt=20to=20reproduce=20ALF-17797.=20?= =?UTF-8?q?=20=20=20Using=20JUnit=20Rules=20like=20this=20will=20make=20it?= =?UTF-8?q?=20much=20easier=20to=20switch=20users=20between=20test=20metho?= =?UTF-8?q?ds.=20=20=20=20Checking=20in=20separately=20from=20future=20wor?= =?UTF-8?q?k=20as=20this=20check-in=20is=20a=20pure=20refactor.=20=20=20?= =?UTF-8?q?=2046185:=20ALF-17503=20:=20Lucene=20search=20with=20skipcount?= =?UTF-8?q?=20>=20hits=20fails=20when=20RM=20is=20installed=20=20=20=20=20?= =?UTF-8?q?=20=20Fix=20build=20failures=20=20=20=20=20=20=20-=20Correct=20?= =?UTF-8?q?tests=20which=20expected=20-ve=20number=20of=20rows=20returned?= =?UTF-8?q?=20in=20a=20resultset=20=20=20=2046192:=20Enhancement=20to=20JU?= =?UTF-8?q?nit=20Rule=20TemporaryNodes.java=20as=20required=20by=20fix=20f?= =?UTF-8?q?or=20ALF-17797.=20=20=20=20This=20check-in=20enhances=20Tempora?= =?UTF-8?q?ryNodes=20to=20allow=20for=20the=20easy=20creation=20of=20speci?= =?UTF-8?q?fic=20named=20quick=20files.=20=20=20=20Previously=20you=20coul?= =?UTF-8?q?d=20only=20easily=20create=20a=20quick=20file=20selected=20by?= =?UTF-8?q?=20MIME=20type.=20=20=20=20Now=20you=20can=20use=20e.g.=20'quic?= =?UTF-8?q?kCorrupt.pdf'=20to=20get=20that=20specific=20file.=20=20=20=204?= =?UTF-8?q?6194:=20Fix=20for=20ALF-17797.=20AddFailedThumbnailActionExecut?= =?UTF-8?q?er=20is=20failing.=20=20=20=20This=20check-in=20adds=20a=20test?= =?UTF-8?q?=20case=20that=20reproduces=20the=20issue=20and=20a=20fix.=20?= =?UTF-8?q?=20=20=20The=20fix=20was=20to=20have=20the=20AddFailedThumbnail?= =?UTF-8?q?ActionExecuter=20action=20runAs=20system.=20=20=20=20This=20is?= =?UTF-8?q?=20consistent=20with=20the=20behaviour=20of=20the=20create-thum?= =?UTF-8?q?bnail=20action=20itself.=20=20=20=20There=20is=20no=20way=20via?= =?UTF-8?q?=20the=20ActionService=20to=20run=20an=20action=20(in=20this=20?= =?UTF-8?q?case=20a=20compensating=20action)=20=20=20=20as=20a=20nominated?= =?UTF-8?q?=20user,=20and=20therefore=20I=20have=20had=20to=20change=20the?= =?UTF-8?q?=20implementation=20of=20=20=20=20AddFailedThumbnailActionExecu?= =?UTF-8?q?ter.executeImpl=20so=20that=20it=20always=20runs-as=20system.?= =?UTF-8?q?=20=20=20=2046202:=20ALF-17644:=20Document=20version=20was=20in?= =?UTF-8?q?creased=20after=20canceling=20editing.=20=20=20=20-=20Also=20a?= =?UTF-8?q?=20better=20fix=20for=20ALF-17167=20=20=20=2046208:=20ALF-17517?= =?UTF-8?q?=20Document=20does=20not=20revert=20to=20previous=20version=20i?= =?UTF-8?q?f=20certain=20rule=20is=20applied=20to=20the=20parent=20folder.?= =?UTF-8?q?=20=20=20=20=20=20=20-=20fix=20build=20failures=20(may=20still?= =?UTF-8?q?=20be=20one=20left)=20-=20Not=20all=20actions=20are=20node=20ba?= =?UTF-8?q?sed=20=20=20=2046230:=20Merged=20V3.4-BUG-FIX=20to=20V4.1-BUG-F?= =?UTF-8?q?IX=20(4.1.4)=20=20=20=20=20=20=2046227:=20Filter=20repository?= =?UTF-8?q?=20test=20resources=20from=20alfresco.war=20=20=20=2046272:=20A?= =?UTF-8?q?LF-17841:=20Upgrade=204.0=20-->=204.1.4=20ClassCastException=20?= =?UTF-8?q?from=20OnPropertyUpdateRuleTrigger=20=20=20=20-=20Only=20listen?= =?UTF-8?q?=20for=20updates=20of=20single-valued=20content=20properties=20?= =?UTF-8?q?and=20cope=20with=20it=20previously=20being=20multi-valued=20(a?= =?UTF-8?q?s=20can=20be=20the=20case=20with=20the=20devious=20license=20pr?= =?UTF-8?q?operty)=20=20=20=2046279:=20ALF-17810:=20Imagemagick=20requires?= =?UTF-8?q?=20installation=20of=20Visual=20C++=20redistributables=20=20=20?= =?UTF-8?q?=20-=20x86=20VC++=202008=20SP1=20redistributables=20now=20insta?= =?UTF-8?q?lled=20to=20support=20ImageMagick=20=20=20=2046354:=20ALF-10569?= =?UTF-8?q?:=20Reversing=20r32622=20as=20it=20was=20due=20to=20an=20invali?= =?UTF-8?q?d=20interpretation=20of=20a=20Microsoft=20spec=20and=20should?= =?UTF-8?q?=20be=20unnecessary=20for=20the=20correct=20support=20of=20WebD?= =?UTF-8?q?AV=20'dead=20properties'.=20=20=20=20-=20Correct=20fix=20about?= =?UTF-8?q?=20to=20be=20merged=20in=20from=20V3.4-BUG-FIX=20=20=20=2046360?= =?UTF-8?q?:=20ALF-17697:=20Create=20proper=20source=20jars,=20to=20deploy?= =?UTF-8?q?=20to=20Maven=20repository=20=20=20=2046361:=20Merged=20V3.4-BU?= =?UTF-8?q?G-FIX=20to=20V4.1-BUG-FIX=20=20=20=20=20=20=2045756:=20ALF-1472?= =?UTF-8?q?2:=20Repeat=20merge=20of=20V4.1-BUG-FIX=20to=20V3.4-BUG-FIX=20-?= =?UTF-8?q?=20previous=20merge=20in=20r43028=20did=20not=20bring=20over=20?= =?UTF-8?q?all=20required=20changes=20=20=20=20=20=20=2042902:=20Merged=20?= =?UTF-8?q?DEV=20to=20V4.1-BUG-FIX=20=20=20=20=20=20=20=20=20=2042519:=20A?= =?UTF-8?q?LF-13588:=20Google=20Doc=20failed=20to=20authenticate=20after?= =?UTF-8?q?=20incorrect=20password=20being=20entered=20for=20google=20acco?= =?UTF-8?q?unt=20=20=20=20=20=20=20=20=20=20=20=20=20Add=20ability=20to=20?= =?UTF-8?q?unregister=20class=20behaviours.=20=20=20=20=20=20=20=20=20=20?= =?UTF-8?q?=20=20=20Unregister=20googledocs=20behaviours=20when=20subsyste?= =?UTF-8?q?m=20stops.=20=20=20=20=20=20=2045948:=20Merged=20DEV/WABSON/V4.?= =?UTF-8?q?1-GOOGLEDOCS-BUG-FIX=20to=20DEV/V3.4-BUG=5FFIX=20=20=20=20=20?= =?UTF-8?q?=20=20=20=20=2045898:=20ALF-17704=20/=20ALF-16167:=20'Edit=20Of?= =?UTF-8?q?fline'=20checks=20out=20document=20in=20Google=20docs=20=20=20?= =?UTF-8?q?=20=20=20=20=20=20=20=20=20=20-=20Edit=20in=20Google=20Docs=20a?= =?UTF-8?q?ction=20is=20now=20decoupled=20from=20Edit=20Offline=20action?= =?UTF-8?q?=20=20=20=20=20=20=20=20=20=20=20=20=20-=20The=20checkout=20to?= =?UTF-8?q?=20Google=20Docs=20is=20only=20performed=20if=20a=20new=20param?= =?UTF-8?q?eter=20'gdc'=20is=20set=20as=20a=20paramter=20when=20calling=20?= =?UTF-8?q?the=20action=20web=20script=20=20=20=20=20=20=20=20=20=20=20=20?= =?UTF-8?q?=20-=20This=20paramter=20causes=20the=20web=20script=20to=20cal?= =?UTF-8?q?l=20a=20new=20method=20checkoutToGoogleDocs()=20on=20ScriptNode?= =?UTF-8?q?=20if=20the=20parameter=20is=20set=20=20=20=20=20=20=20=20=20?= =?UTF-8?q?=20=20=20=20-=20The=20new=20method=20simply=20calls=20the=20exi?= =?UTF-8?q?sting=20checkout()=20method=20after=20setting=20a=20custom=20pr?= =?UTF-8?q?operty=20on=20the=20transaction=20=20=20=20=20=20=20=20=20=20?= =?UTF-8?q?=20=20=20-=20The=20Google=20Docs=20policies=20now=20check=20for?= =?UTF-8?q?=20the=20presence=20of=20this=20transaction=20property=20before?= =?UTF-8?q?=20sending=20the=20document=20to=20Google=20=20=20=20=20=20=204?= =?UTF-8?q?5976:=20ALF-17876:=20Merged=20DEV=20to=20V3.4-BUG-FIX=20=20=20?= =?UTF-8?q?=20=20=20=20=20=20=2045925:=20ALF-16992=20:=20patch.fixAclInher?= =?UTF-8?q?itance=20is=20failing=20on=20sharedAclsThatDoNotInheritCorrectl?= =?UTF-8?q?yFromThePrimaryParent=20=20=20=20=20=20=20=20=20=20=20=20=20Add?= =?UTF-8?q?ed=20a=20detection=20on=20cyclic=20loop=20for=20"inherits=20fro?= =?UTF-8?q?m"=20field.=20=20=20=20=20=20=2046041:=20ALF-17877:=20Merged=20?= =?UTF-8?q?DEV=20to=20V3.4-BUG-FIX=20(with=20corrections)=20=20=20=20=20?= =?UTF-8?q?=20=20=20=20=2046013:=20ALF-17662=20:=20The=20deleted=20via=20S?= =?UTF-8?q?harepoint=20document=20is=20not=20removed=20from=20Alfresco=20b?= =?UTF-8?q?ut=20hidden=20aspect=20is=20added=20for=20it=20=20=20=20=20=20?= =?UTF-8?q?=20=20=20=20Documents=20marked=20with=20sys:hidden=20aspect=20s?= =?UTF-8?q?hould=20be=20invisible=20through=20SPP=20protocol=20and=20shoul?= =?UTF-8?q?d=20be=20treated=20as=20nonexistent.=20=20=20=20=20=20=2046054:?= =?UTF-8?q?=20ALF-17878=20/=20ALF-17633=20add=20alfresco-mmt.jar=20in=20th?= =?UTF-8?q?e=20SDK=20distribution=20=20=20=20=20=20=2046173:=20ALF-17879?= =?UTF-8?q?=20/=20ALF-17806:=20Merged=20PATCHES/V3.4.10=20to=20V3.4-BUG-FI?= =?UTF-8?q?X=20=20=20=20=20=20=20=20=20=2046099:=20MNT-293:=20Merged=20V4.?= =?UTF-8?q?0-BUG-FIX=20to=20PATCHES/V3.4.10=20=20=20=20=20=20=20=20=20=20?= =?UTF-8?q?=20=20=2037969:=20Fixes=20for:=20=20=20=20=20=20=20=20=20=20=20?= =?UTF-8?q?=20=20ALF-12772=20'Path=20not=20found'=20error=20in=20Share=20i?= =?UTF-8?q?f=20user=20has=20no=20permissions=20to=20parent=20folders=20in?= =?UTF-8?q?=20breadcrumb=20=20=20=20=20=20=20=20=20=20=20=20=20ALF-14527?= =?UTF-8?q?=20Share=20-=20Error=20to=20display=20documents=20if=20user=20h?= =?UTF-8?q?as=20no=20access=20to=20the=20parent=20folder=20=20=20=20=20=20?= =?UTF-8?q?=20=20=20=20=20=20=20-=20Share=20now=20correctly=20supports=20a?= =?UTF-8?q?ccessing=20documents=20and=20folders=20(and=20details=20page=20?= =?UTF-8?q?actions)=20where=20the=20user=20does=20not=20have=20Read=20perm?= =?UTF-8?q?issions=20on=20the=20parent=20node.=20=20=20=20=20=20=20=20=20?= =?UTF-8?q?=2046101:=20MNT-293:=20AccessDenied=20using=20CMIS=20when=20use?= =?UTF-8?q?r=20does=20not=20have=20access=20to=20parent=20folder=20=20=20?= =?UTF-8?q?=20=20=20=20=20=20=20-=20Fix=20by=20Vasily=20=20=20=20=20=20=20?= =?UTF-8?q?=20=20=2046125:=20MNT-293:=20Correct=20Kev's=20logic=20to=20do?= =?UTF-8?q?=20permission=20checks=20after=20resolving=20a=20path=20as=20sy?= =?UTF-8?q?stem=20=20=20=20=20=20=20=20=20=2046127:=20Merged=20V3.4=20to?= =?UTF-8?q?=20PATCHES/V3.4.10=20=20=20=20=20=20=20=20=20=20=20=20=2045743:?= =?UTF-8?q?=20Correction=20to=20AuditComponentTest=20=20=20=20=20=20=20=20?= =?UTF-8?q?=20=20=20=20=20=20=20=20-=20Test=20was=20reporting=20"Incorrect?= =?UTF-8?q?=20number=20of=20audit=20entries=20after=20failed=20login=20exp?= =?UTF-8?q?ected:<1000>=20but=20was:"=20=20=20=20=20=20=20=20=20=20?= =?UTF-8?q?=20=20=20=20=20=20=20=20where=20XXX=20was=20less=20than=201000.?= =?UTF-8?q?=20This=20was=20because=20results=20was=20being=20cleared=20if?= =?UTF-8?q?=20all=20all=20audit=20failures=20were=20=20=20=20=20=20=20=20?= =?UTF-8?q?=20=20=20=20=20=20=20=20=20=20not=20available=20in=20the=20firs?= =?UTF-8?q?t=20loop.=20The=20results=20needed=20to=20cleared=20before=20th?= =?UTF-8?q?e=20first=20loop=20rather=20than=20in=20every=20=20=20=20=20=20?= =?UTF-8?q?=20=20=20=20=20=20=20=20=20=20=20=20loop.=20For=20example=20an?= =?UTF-8?q?=20XXX=20value=20of=20830=20would=20simply=20indicate=20that=20?= =?UTF-8?q?the=20first=20loop=20had=20received=20170=20audit=20=20=20=20?= =?UTF-8?q?=20=20=20=20=20=20=20=20=20=20=20=20=20=20results=20and=20that?= =?UTF-8?q?=20a=20second=20loop=20was=20required=20to=20get=20the=20rest.?= =?UTF-8?q?=20=20=20=20=20=20=20=20=20=20=20=20=2045747:=20Correction=20to?= =?UTF-8?q?=20AuditComponentTest=20=20=20=20=20=20=20=20=20=20=20=20=20=20?= =?UTF-8?q?=20=20-=20Okay=20last=20commit=20did=20not=20work.=20Try=20just?= =?UTF-8?q?=20waiting=20a=20bit=20longer=20than=20a=20second=20if=20we=20d?= =?UTF-8?q?on't=20have=20all=20records.=20=20=20=20=20=20=2046195:=20ALF-1?= =?UTF-8?q?7880=20/=20ALF-17378:=20Web=20content=20is=20not=20editable=20a?= =?UTF-8?q?fter=20cancelling=20the=20Edit=20Web=20Content=20Wizard=20=20?= =?UTF-8?q?=20=20=20=20=20-=20Fix=20by=20Andrey=20=20=20=20=20=20=2046227:?= =?UTF-8?q?=20Filter=20repository=20test=20resources=20from=20alfresco.war?= =?UTF-8?q?=20=20=20=20=20=20=2046324:=20Merged=20DEV=20to=20V3.4-BUG-FIX?= =?UTF-8?q?=20(with=20improvements)=20=20=20=20=20=20=20=20=20=2045602:=20?= =?UTF-8?q?ALF-10569=20/=20ALF-17519=20:=20SPP=20is=20setting=20residual?= =?UTF-8?q?=20properties=20with=20an=20unknown=20name=20space=20(urn:schem?= =?UTF-8?q?as-microsoft-com)=20=20=20=20=20=20=20=20=20=20Implemented=20sp?= =?UTF-8?q?ecial=20case=20for=20handling=20dead=20webdav=20properties.=20N?= =?UTF-8?q?ew=20webdav:object=20aspect=20was=20introduced.=20It=20is=20use?= =?UTF-8?q?d=20to=20=20=20=20=20=20=20=20=20=20store=20all=20dead=20proper?= =?UTF-8?q?ties=20that=20may=20be=20set=20on=20resource.=20=20=20=20=20=20?= =?UTF-8?q?=2046353:=20ALF-17881=20/=20ALF-17272:=20TooManyClauses=20error?= =?UTF-8?q?=20due=20to=20syntax=20error=20in=20the=20query=20generated=20f?= =?UTF-8?q?rom=20UIComponentSelector=20=20=20=20=20=20=20-=20Fixed=20typo?= =?UTF-8?q?=20in=20Lucene=20query=20generation=20introduced=20in=20r20310?= =?UTF-8?q?=20=20=20=2046362:=20ALF-17876:=20Re-fix=20typo=20introduced=20?= =?UTF-8?q?in=20V3.4-BUG-FIX=20merge=20=20=20=2046363:=20Merged=20V3.4-BUG?= =?UTF-8?q?-FIX=20to=20V4.1-BUG-FIX=20(RECORD=20ONLY)=20=20=20=20=20=20=20?= =?UTF-8?q?46285:=20Merged=20V4.1-BUG-FIX=20to=20V3.4-BUG-FIX=20=20=20=20?= =?UTF-8?q?=20=20=20=20=20=2046279:=20ALF-17810:=20Imagemagick=20requires?= =?UTF-8?q?=20installation=20of=20Visual=20C++=20redistributables=20=20=20?= =?UTF-8?q?=20=20=20=20=20=20=20-=20x86=20VC++=202008=20SP1=20redistributa?= =?UTF-8?q?bles=20now=20installed=20to=20support=20ImageMagick=20=20=20=20?= =?UTF-8?q?=20=20=2046325:=20ALF-17863:=20Merged=20V4.1-BUG-FIX=20to=20V3.?= =?UTF-8?q?4-BUG-FIX=20=20=20=20=20=20=20=20=20=2043649:=20ALF-16756:=20We?= =?UTF-8?q?bDAV:=20An=20error=20occurs=20on=20drag&drop=20content=20from?= =?UTF-8?q?=20local=20machine=20to=20alfresco=20when=20inbound=20move=20ru?= =?UTF-8?q?le=20configured.=20=20=20=20=20=20=20=20=20=2043651:=20ALF-1675?= =?UTF-8?q?6:=20Fixed=20typos=20-=20I=20took=20this=20code=20in=20good=20f?= =?UTF-8?q?aith!=20=20=20=20=20=20=20=20=20=2044988:=20Merged=20DEV=20to?= =?UTF-8?q?=20V4.1-BUG-FIX=20=20=20=20=20=20=20=20=20=20=20=20=2044937:=20?= =?UTF-8?q?ALF-16756:=20WebDAV:=20An=20error=20occurs=20on=20drag&drop=20c?= =?UTF-8?q?ontent=20from=20local=20machine=20to=20alfresco=20when=20inboun?= =?UTF-8?q?d=20move=20rule=20configured.=20=20=20=20=20=20=20=20=20=20=20?= =?UTF-8?q?=20=20=20=20=20Add=20check=20for=20content=20data=20length=20du?= =?UTF-8?q?ring=20determining=20existence=20of=20content=20on=20node.=20?= =?UTF-8?q?=20=20=2046395:=20Merged=20V4.1.3=20(4.1.3)=20to=20V4.1-BUG-FIX?= =?UTF-8?q?=20(4.1.4)=20=20=20=20=20=20=2046121:=20Fixed=20code=20warnings?= =?UTF-8?q?=20=20=20=20=20=20=2046123:=20Further=20improvements=20on=20ALF?= =?UTF-8?q?-17702:=20BM-0013:=20Soak:=20Run=2002:=20getCachedChildAuthorit?= =?UTF-8?q?ies=20is=20not=20caching=20result=20=20=20=20=20=20=20=20-=20Re?= =?UTF-8?q?duced=20cache=20entry=20size=20=20=20=20=20=20=20=20-=20Removed?= =?UTF-8?q?=20binary=20sort=20search=20for=20authority=20entries=20=20=20?= =?UTF-8?q?=20=20=20=20=20-=20PS:=20This=20is=20one=20of=20the=20most=20he?= =?UTF-8?q?avily=20used=20code=20paths=20in=20the=20system=20=20=20=20=20?= =?UTF-8?q?=20=2046153:=20Merged=20DEV=20to=20V4.1.3=20(4.1.3)=20=20=20=20?= =?UTF-8?q?=20=20=20=20=20=20<<=20Lots=20of=20other=20changes=20in=20addit?= =?UTF-8?q?ion=20to=20merged=20code>>=20=20=20=20=20=20=20=20=20=2046093:?= =?UTF-8?q?=20ALF-16149=20:=20CLONE=20-=20User=20search=20retrieves=20all?= =?UTF-8?q?=20users=20from=20the=20DB=20regardless=20of=20search=20criteri?= =?UTF-8?q?a=20=20=20=20=20=20=20=20=20=20=20=20=20-=20Re-implemented=20de?= =?UTF-8?q?precated=20method=20PersonServiceImpl.getPeople(...)=20to=20use?= =?UTF-8?q?=20getPeopleCQ=20or=20FTS=20search=20=20=20=20=20=20=20=20=20?= =?UTF-8?q?=20-=20Replaced=20calls=20to=20deprecated=20getPeople=20with=20?= =?UTF-8?q?calls=20to=20other=20one=20where=20it=20would=20end=20up=20bein?= =?UTF-8?q?g=20called=20anyway.=20=20=20=20=20=20=20=20=20=20-=20Fixed=20P?= =?UTF-8?q?ersonServiceTests=20=20=20=20=20=20=20=20=20=20-=20Fixed=20GetP?= =?UTF-8?q?eopleCannedQuery=20to=20use=20totalResultCount=20-=20tests=20fa?= =?UTF-8?q?iled=20otherwise=20=20=20=20=20=20=20=20=20=20-=20Added=20warni?= =?UTF-8?q?ng=20to=20PersonService.getPeopleFilteredByProperty(...)=20if?= =?UTF-8?q?=20PROP=5FFIRSTNAME,=20PROP=5FLASTNAME,=20PROP=5FUSERNAME=20=20?= =?UTF-8?q?=20=20=20=20=20=20=20=20=20=20were=20not=20being=20used.=20This?= =?UTF-8?q?=20was=20the=20one=20place=20that=20'could'=20called=20the=20de?= =?UTF-8?q?precated=20getPeople(...)=20method=20with=20=20=20=20=20=20=20?= =?UTF-8?q?=09=20other=20properties.=20Other=20properties=20are=20not=20in?= =?UTF-8?q?cluded=20in=20the=20search=20values.=20=20=20=20=20=20=2046178:?= =?UTF-8?q?=20ALF-17796=20-=20BM-0013:=20Soak:=20Run=2004:=20Contention=20?= =?UTF-8?q?on=20folder=20'user'=20containing=20users=20=20=20=20=20=20=20-?= =?UTF-8?q?=20disable=20auditable=20behaviour=20on=20parent=20folders=20(s?= =?UTF-8?q?ee=20also=20ALF-17729)=20=20=20=20=20=20=2046244:=20Fix=20for?= =?UTF-8?q?=20=20=20=20=20ALF-17801=20=20=20BM-0013:=20Soak:=20Run=2004:?= =?UTF-8?q?=20ConcurrentModificationException=20in=20AbstractLuceneQueryPa?= =?UTF-8?q?rser=20=20=20=20=20=20=20-=20consistently=20name=20anonymous=20?= =?UTF-8?q?constraints=20defined=20on=20properties=20=20=20=20=20=20=20462?= =?UTF-8?q?65:=20ALF-17799=20-=20BM-0013:=20Soak:=20Run=2004:=20Regular=20?= =?UTF-8?q?timeouts=20getting=20site=20memberships=20=20=20=20=20=20=20-?= =?UTF-8?q?=20initial=20fix:=20make=20sure=20limit=20cut-off=20is=20also?= =?UTF-8?q?=20applied=20when=20processing=20"groups=20to=20expand"=20=20?= =?UTF-8?q?=20=20=20=20=2046286:=20Fix=20for=20=20=20=20=20ALF-17801=20=20?= =?UTF-8?q?=20BM-0013:=20Soak:=20Run=2004:=20ConcurrentModificationExcepti?= =?UTF-8?q?on=20in=20AbstractLuceneQueryParser=20=20=20=20=20=20=20-=20bui?= =?UTF-8?q?ld=20fixes=20for=20=20=20=20=20=20=20=20=20=201)=20Anonymous=20?= =?UTF-8?q?over-ridden=20constraints=20defined=20to=20contain=20the=20wron?= =?UTF-8?q?g=20property=20definition=20(no=20matter)=20=20=20=20=20=20=20?= =?UTF-8?q?=20=20=202)=20but=20above=20causes=20name=20collision=20on=20ov?= =?UTF-8?q?er-ridden=20anonymous=20constraints=20on=20properties=20=20=20?= =?UTF-8?q?=20=20=20=20=20=20=203)=20fix=20-over=20ride=20order=20to=20set?= =?UTF-8?q?=20inherited=20property=20definition=20info=20before=20over-rid?= =?UTF-8?q?ding=20the=20property=20=20=20=20=20=20=2046290:=20ALF-17799=20?= =?UTF-8?q?-=20BM-0013:=20Soak:=20Run=2004:=20Regular=20timeouts=20getting?= =?UTF-8?q?=20site=20memberships=20=20=20=20=20=20=20-=20fix=20SiteActivit?= =?UTF-8?q?yTest=20fallout=20(and=20adhere=20to=20current=20API=20contract?= =?UTF-8?q?)=20=20=20=20=20=20=2046315:=20ALF-17788:=20WebSphere:=20QueryE?= =?UTF-8?q?xception=20occurs=20during=20the=20clean=20startup=20=20=20=20?= =?UTF-8?q?=20=20=20-=20Corrected=20regression=20where=20FeedNotifier=20tr?= =?UTF-8?q?ies=20to=20scroll=20past=20the=20end=20of=20a=20result=20set=20?= =?UTF-8?q?=20=20=20=20=20=2046316:=20ALF-17702:=20Fixed=20regression=20of?= =?UTF-8?q?=20MNT-279=20fix=20=20=20=20=20=20=20-=20Avoid=20sequential=20s?= =?UTF-8?q?earch=20across=20massive=20user=20sets=20when=20evaluating=20AC?= =?UTF-8?q?Ls=20=20=20=20=20=20=2046350:=20Update=20Maven=20POM=20files=20?= =?UTF-8?q?=20=20=20=20=20=20=20-=20Upgrade=20version=20to=204.1.3=20=20?= =?UTF-8?q?=20=20=20=20=20=20-=20Upgrade=20pdfbox=20to=201.7.0-alfresco-20?= =?UTF-8?q?130130,=20to=20catch=20up=20after=20r46000=20fixing=20ALF-17574?= =?UTF-8?q?=20=20=20=20=20=20=2046370:=20ALF-17613:=20Merged=20V4.0.2=20(4?= =?UTF-8?q?.0.2.27)=20to=20V4.1.3=20(4.1.3)=20=20=20=20=20=20=20=20=20=204?= =?UTF-8?q?6368:=20MNT-298=20HF=20-=20Replace=20file=20by=20drag-and-drop?= =?UTF-8?q?=20over=20CIFS=20on=20Mac=20OS=20X=20and=20passthru/LDAP-AD=20g?= =?UTF-8?q?ets=20"is=20in=20use"=20message=20and=20deletes=20the=20file=20?= =?UTF-8?q?=20=20=2046421:=20Fix=20for=20ALF-17886.=20DeleteRenditionActio?= =?UTF-8?q?nExecuter=20Acces=20is=20denied.=20=20=20=20With=20test=20of=20?= =?UTF-8?q?course.=20=20=20=2046438:=20ALF-17622=20(Activities=20with=20Go?= =?UTF-8?q?ogle=20Docs=20are=20not=20displayed=20in=20My=20Site=20Activiti?= =?UTF-8?q?es=20and=20Site=20Activities=20dashlets)=20=20=20=2046445:=20Fi?= =?UTF-8?q?x=20for=20=20ALF-17327=20Cannot=20retrieve=20documents=20with?= =?UTF-8?q?=20a=20Japanese=20keyword.=20=20=20=2046457:=20ALF-17904=20(Goo?= =?UTF-8?q?gleDocs=20action=20doesn't=20work=20in=20doclib=20view)=20=20?= =?UTF-8?q?=20=2046482:=20Fix=20for=20ALF-17858.=20NPE=20in=20formService?= =?UTF-8?q?=20webscript.=20=20=20=2046497:=20Fix=20for=20ALF-15371=20Insta?= =?UTF-8?q?nces=20of=20java.util.Map=20interface=20cannot=20be=20accessed?= =?UTF-8?q?=20in=20JavaScript=20=20=20=20The=20fix=20was=20to=20have=20get?= =?UTF-8?q?DefaultValue(Class)=20return=20the=20map.toString.=20It=20was?= =?UTF-8?q?=20previously=20returning=20null.=20=20=20=2046533:=20ALF-17286?= =?UTF-8?q?:=20SPP=20(Cluster=20specific):Document=20workspace=20is=20not?= =?UTF-8?q?=20browseable=20via=20Share=20if=20alfresco.host=20is=20pointin?= =?UTF-8?q?g=20to=20balancer=20host=20=20=20=20=20-=20Ensure=20that=20conc?= =?UTF-8?q?urrency=20conditions=20from=20AclDAO=20get=20propagagedby=20Nod?= =?UTF-8?q?eDAO=20=20=20=2046540:=20Fix=20for=20=20=20=20=20ALF-17397=20?= =?UTF-8?q?=20searching=20based=20on=20property=20value=20that=20contains?= =?UTF-8?q?=20dashes=20doesn't=20work=20in=20a=20crossloanguage=20context?= =?UTF-8?q?=20using=20Solr=20=20=20=20-=20fixed=20-=20also=20added=20suppo?= =?UTF-8?q?rt=20for=20query/index=20time=20analysis=20control=20for=20the?= =?UTF-8?q?=20default=20cross-language=20analyser.=20=20=20=20-=20Not=20re?= =?UTF-8?q?quired=20to=20resolve=20the=20bug=20but=20may=20be=20useful=20t?= =?UTF-8?q?o=20reduce=20query=20complexity=20(e.g.=20do=20not=20generate?= =?UTF-8?q?=20concatenated=20tokens=20for=20query)=20=20=20=20=20=20=20whi?= =?UTF-8?q?ch=20could=20have=20been=20used=20as=20a=20work=20around=20for?= =?UTF-8?q?=20this=20bug=20if=20available.=20=20=20=2046546:=20Merged=20DE?= =?UTF-8?q?V=20to=20V4.1-BUG-FIX=20=20=20=20=20=20=2046494:=20ALF-17899=20?= =?UTF-8?q?TempFileProvider.createTempFile()=20is=20not=20debugable=20=20?= =?UTF-8?q?=20=20=20=20=20Added=20debug=20logs.=20=20=20=2046562:=20ALF-17?= =?UTF-8?q?917:=20Corrected=20internationalization=20of=20Imap=20Home=20fo?= =?UTF-8?q?lder=20=20=20=20-=20Unfinished=20business=20from=20ALF-15700=20?= =?UTF-8?q?=20=20=2046563:=20Fix=20for=20ALF-17572=20-=20Grey=20background?= =?UTF-8?q?=20in=20'Google=20Docs=20Theme'=20when=20uploading=20files=20wi?= =?UTF-8?q?th=20IE8=20=20=20=2046564:=20Fix=20for=20ALF-17150=20-=20Edit?= =?UTF-8?q?=20Online=20action=20missing=20in=20Share=20for=20some=20mime?= =?UTF-8?q?=20types=20(incorrect=20mimetype=20for=20PowerPoint=20files=20w?= =?UTF-8?q?ith=20SLDM=20extension)=20=20=20=2046565:=20ALF-17917:=20Correc?= =?UTF-8?q?tion=20to=20previous=20fix=20=20=20=20-=20Use=20distinct=20key?= =?UTF-8?q?=20spaces.imap=5Fhome.childname,=20because=20spaces.imapConfig.?= =?UTF-8?q?childname=20was=20already=20being=20used=20for=20other=20purpos?= =?UTF-8?q?es=20=20=20=2046568:=20Fix=20for=20ALF-17757=20and=20ALF-1101?= =?UTF-8?q?=20=20=20=20RSS=20Dashlet=20cannot=20display=20RSS=20feed=20pro?= =?UTF-8?q?duced=20by=20Share=D3=B3=20blog=20/=20RSS=20Feed=20Dashlet=20un?= =?UTF-8?q?able=20to=20read=20internal=20Alfesco=20Share=20site=20RSS=20Fe?= =?UTF-8?q?eds=20=20=20=20-=20Fix=20implementation=20from=20Will=20Abson?= =?UTF-8?q?=20=20=20=20NOTE:=20there=20is=20a=20cavet,=20suggest=20SSO=20s?= =?UTF-8?q?tyle=20config=20as=20per=20ALF-16413=20to=20avoid=20basic=20aut?= =?UTF-8?q?h=20pop-up=20when=20displaying=20some=20feeds.=20=20=20=2046624?= =?UTF-8?q?:=20removed=20=20=20=2046625:=20Undo=20last=20commit=20=20=20?= =?UTF-8?q?=2046626:=20Merged=20V4.1.1=20(4.1.1.21)=20to=20V4.1-BUG-FIX=20?= =?UTF-8?q?(4.1.4)=20=20=20=20=20=20=2046602:=20ALF-17953:=20Alfresco=20co?= =?UTF-8?q?nstantly=20running=20full=20GCs=20=20=20=20=20=20=20-=20Possibl?= =?UTF-8?q?e=20fix=20to=20TikaPoweredContentTransformer=20to=20make=20it?= =?UTF-8?q?=20wrap=20FileContentReaders=20as=20TikaInputStreams=20which=20?= =?UTF-8?q?can=20be=20cast=20to=20Files=20and=20appear=20not=20to=20need?= =?UTF-8?q?=20reading=20into=20memory=20in=20their=20entirety=20in=20uncom?= =?UTF-8?q?pressed=20form!=20=20=20=20=20=20=20-=20Fix=20also=20required?= =?UTF-8?q?=20to=20TikaOfficeDetectParser=20to=20avoid=20it=20wrapping=20a?= =?UTF-8?q?=20TikaInputStream=20unnecessarily=20=20=20=2046629:=20RECORD?= =?UTF-8?q?=20ONLY=20Merged=20V4.1.3=20(4.1.3)=20to=20V4.1-BUG-FIX=20(4.1.?= =?UTF-8?q?4)=20=20=20=20=20=20=2046622:=20ALF-17968:=20Merged=20V4.0.2=20?= =?UTF-8?q?(4.1.1.21)=20to=20V4.1.3=20(4.1.3)=20=20=20=20=20=20=20=20=20?= =?UTF-8?q?=2046602:=20ALF-17953:=20Alfresco=20constantly=20running=20full?= =?UTF-8?q?=20GCs=20=20=20=20=20=20=20=20=20=20-=20Possible=20fix=20to=20T?= =?UTF-8?q?ikaPoweredContentTransformer=20to=20make=20it=20wrap=20FileCont?= =?UTF-8?q?entReaders=20as=20TikaInputStreams=20which=20can=20be=20cast=20?= =?UTF-8?q?to=20Files=20and=20appear=20not=20to=20need=20reading=20into=20?= =?UTF-8?q?memory=20in=20their=20entirety=20in=20uncompressed=20form!=20?= =?UTF-8?q?=20=20=20=20=20=20=20=20=20-=20Fix=20also=20required=20to=20Tik?= =?UTF-8?q?aOfficeDetectParser=20to=20avoid=20it=20wrapping=20a=20TikaInpu?= =?UTF-8?q?tStream=20unnecessarily=20=20=20=20=20=20=20=20=20=2046607:=20A?= =?UTF-8?q?LF-17953=20Alfresco=20constantly=20running=20full=20GC's=20-=20?= =?UTF-8?q?some=20java.lang.threads=20holding=20around=209Gb=20of=20memory?= =?UTF-8?q?=20=20=20=20=20=20=20=20=20=20=20=20=20-=20Added=20transformati?= =?UTF-8?q?on=20limits=20to=20the=208=20TikaPoweredContentTransformer=20ba?= =?UTF-8?q?sed=20transformers,=20so=20that=20the=20maxSourceSizeKBytes=20?= =?UTF-8?q?=20=20=20=20=20=20=20=20=20=20=20=20=20=20can=20be=20set=20for?= =?UTF-8?q?=20each=20transformer=20and=20for=20each=20source=20mimetype=20?= =?UTF-8?q?used=20by=20each=20transformer.=20=20=20=20=20=20=20=20=20=20?= =?UTF-8?q?=20=20=20-=20maxSourceSizeKBytes=20set=20to=2040MB=20for=20the?= =?UTF-8?q?=20newer=202007=20MS=20office=20types=20(4=20char=20ext).=20=20?= =?UTF-8?q?=20=20=20=20=20=20=20=2046619:=20ALF-17953=20Alfresco=20constan?= =?UTF-8?q?tly=20running=20full=20GC's=20-=20some=20java.lang.threads=20ho?= =?UTF-8?q?lding=20around=209Gb=20of=20memory=20=20=20=20=20=20=20=20=20?= =?UTF-8?q?=20=20=20=20-=20Changed=20maxSourceSizeKBytes=20values=20from?= =?UTF-8?q?=2040MB=20back=20to=20-1=20for=20the=20newer=202007=20MS=20offi?= =?UTF-8?q?ce=20types=20(4=20char=20ext).=20=20=20=2046636:=20Fix=20for=20?= =?UTF-8?q?=20=20=20=20ALF-13442=20=20=20=20=20=20Tomcat=20memory=20leak?= =?UTF-8?q?=20warnings=20occur=20during=20the=20shutdown=20=20=20=2046679:?= =?UTF-8?q?=20Merged=20DEV=20to=20V4.1-BUG-FIX=20(4.1.4)=20=20=20=20=20=20?= =?UTF-8?q?=2046659:=20ALF-17631=20:=20Errors/Exception=20during=20stress?= =?UTF-8?q?=20tests=20of=20CMIS=20GET=20children=20=20=20=20=20=20=20Retry?= =?UTF-8?q?ingTransactionHelper=20has=20now=20ability=20to=20handle=20pre-?= =?UTF-8?q?configured=20exceptions=20as=20retriable=20in=20addition=20to?= =?UTF-8?q?=20default=20list=20of=20exceptions.=20=20=20=2046683:=20Merge?= =?UTF-8?q?=20PATCHES/V4.1.3=20to=20V4.1-BUG-FIX=20(4.1.4)=20=20=20=20=20?= =?UTF-8?q?=20=2046637:=20Update=20the=20notice.txt=20and=20licenses=20wit?= =?UTF-8?q?h=20the=20latest=20modifications=20=20=20=20Add=20Microsoft=20V?= =?UTF-8?q?isual=20C++=202008=20Redistributable=20Package=20in=20the=20not?= =?UTF-8?q?ice.txt=20=20=20=2046693:=20RECORD=20ONLY=20Merged=20V3.4-BUG-F?= =?UTF-8?q?IX=20(3.4.13)=20to=20V4.1-BUG-FIX=20(4.1.4)=20=20=20=20=20=20?= =?UTF-8?q?=2046692:=20ALF-17984:=20Merged=20V3.4.12=20(3.4.12.2)=20to=20V?= =?UTF-8?q?3.4-BUG-FIX=20(3.4.13)=20=20=20=20=20=20=20=20=20=2046680:=20MN?= =?UTF-8?q?T-307:=20DEV=20to=20V3.4.12=20(3.4.12.2)=20=20=20=20=20=20=20?= =?UTF-8?q?=20=20=20=20=20=2046659:=20ALF-17631=20:=20Errors/Exception=20d?= =?UTF-8?q?uring=20stress=20tests=20of=20CMIS=20GET=20children=20=20=20=20?= =?UTF-8?q?=20=20=20=20=20=20=20=20=20RetryingTransactionHelper=20has=20no?= =?UTF-8?q?w=20ability=20to=20handle=20pre-configured=20exceptions=20as=20?= =?UTF-8?q?retriable=20in=20addition=20to=20default=20list=20of=20exceptio?= =?UTF-8?q?ns.=20=20=20=20=20=20=20=20=20=20=20=20=20-=20Change=20to=20ope?= =?UTF-8?q?ncmis-context.xml=20on=20DEV=20(based=20on=204.1.4)=20was=20mad?= =?UTF-8?q?e=20to=20cmis-ws-context.xml=20on=20V3.4.12=20=20=20=2046694:?= =?UTF-8?q?=20Merged=20DEV=20to=20V4.1-BUG-FIX=20(4.1.4)=20=20=20=20=20=20?= =?UTF-8?q?=2046686:=20ALF-17631=20:=20Errors/Exception=20during=20stress?= =?UTF-8?q?=20tests=20of=20CMIS=20GET=20children=20=20=20=20=20=20=20Unit?= =?UTF-8?q?=20test=20add=20for=20RetryingTransactionHelper=20to=20test=20e?= =?UTF-8?q?xtra=20exceptions=20are=20rertied=20correctly.=20=20=20=2046724?= =?UTF-8?q?:=20create-site.css=20and=20create-site.js=20will=20be=20includ?= =?UTF-8?q?ed=20in=20the=20header=20(share-config.xml)=20therefore=20there?= =?UTF-8?q?=20is=20no=20reason=20to=20include=20them=20in=20the=20freemark?= =?UTF-8?q?er=20templates.=20=20=20=2046759:=20Merged=20DEV=20to=20V4.1-BU?= =?UTF-8?q?G-FIX=20(4.1.4)=20=20=20=20=20=20=2046734:=20ALF-17873=20Missin?= =?UTF-8?q?g=20versionLabel=20property=20after=20Version2ServiceImpl.resto?= =?UTF-8?q?re()=20=20=20=20=20=20=201.=20In=20Version2ServiceImpl.restore(?= =?UTF-8?q?)=20to=20props=20Map=20was=20added=20ContentModel.PROP=5FVERSIO?= =?UTF-8?q?N=5FLABEL=20property.=20=20=20=20=20=20=202.=20In=20VersionServ?= =?UTF-8?q?iceImplTest.testRestore()=20was=20added=20the=20check=20that=20?= =?UTF-8?q?ContentModel.PROP=5FVERSION=5FLABEL=20property=20is=20correct.?= =?UTF-8?q?=20=20=20=2046760:=20Merged=20DEV=20to=20V4.1-BUG-FIX=20(4.1.4)?= =?UTF-8?q?=20=20=20=20=20=20=2046433:=20ALF-16883:=20Incorrect=20message?= =?UTF-8?q?=20occurred=20when=20delete=20Workspace=20if=20document=20is=20?= =?UTF-8?q?locked.=20=20=20=20=20=20=20Not=20possible=20to=20change=20MS?= =?UTF-8?q?=20Office=20message=20-=20have=20improved=20alfresco=20log=20me?= =?UTF-8?q?ssage=20=20=20=2046782:=20ALF-17317=204.0.2.23=20HOT=20FIX:=20O?= =?UTF-8?q?penOffice=20server=20conversion=20failed=20=20=20=2046783:=20AL?= =?UTF-8?q?F-17546=20OOXMLThumbnailContentTransformer=20is=20not=20registe?= =?UTF-8?q?red=20to=20handle=20special=20Office=20document=20types,=20such?= =?UTF-8?q?=20as=20templates=20and=20macro-enabled=20variants=20of=20docum?= =?UTF-8?q?ent=20/=20template=20=20=20=2046797:=20Restore=20missing=20merg?= =?UTF-8?q?einfo=20accidentally=20removed=20in=20r46562=20=20=20=2046799:?= =?UTF-8?q?=20ALF-17546=20OOXMLThumbnailContentTransformer=20is=20not=20re?= =?UTF-8?q?gistered=20to=20handle=20special=20Office=20document=20types,?= =?UTF-8?q?=20such=20as=20templates=20and=20macro-enabled=20variants=20of?= =?UTF-8?q?=20document=20/=20template=20=20=20=20=20=20=20-=20typo=20in=20?= =?UTF-8?q?mimetype=20case=20=20=20=2046916:=20ALF-17174=20pdf2swf=20suppo?= =?UTF-8?q?rts=20converting=20N=20first=20pages=20but=20alfresco=20does=20?= =?UTF-8?q?not=20support=20it=20via=20the=20pageLimit=20=20=20=2046933:=20?= =?UTF-8?q?ALF-8144:=20Drastically=20improving=20performance=20using=20laz?= =?UTF-8?q?y-loaded=20WorklfowTask=20properties=20and=20path=20+=20improve?= =?UTF-8?q?d=20the=20way=20share=20pages=20workflow-tasks=20to=20prevent?= =?UTF-8?q?=20building=20full=20model=20for=20unneeded=20tasks=20=20=20=20?= =?UTF-8?q?46946:=20ALF-18000:=20Startup=20script=20depends=20on=20the=20w?= =?UTF-8?q?orking=20directory=20where=20it=20is=20run=20=20=20=20-=20Chang?= =?UTF-8?q?ed=20vti.properties=20to=20=20=20=20vti.server.ssl.keystore=3D$?= =?UTF-8?q?{dir.keystore}/vti.ssl.keystore=20=20=20=2046995:=20Improvement?= =?UTF-8?q?=20related=20to=20=20=20=20=20ALF-17380=20=20=20Solr=20queries?= =?UTF-8?q?=20running=20slowly=20=20=20=20-=20reader=20->=20acl=20cache=20?= =?UTF-8?q?is=20built=20on=20demand=20(and=20warmed=20via=20authority=20wa?= =?UTF-8?q?rming)=20=20=20=20-=20this=20will=20mean=20it=20is=20not=20eage?= =?UTF-8?q?rly=20built=20for=20the=20archive=20store=20where=20it=20would?= =?UTF-8?q?=20be=20little=20used,=20and=20could=20be=20configured=20off=20?= =?UTF-8?q?for=20this=20case=20=20=20=2047032:=20ALF-17804:=20cmisatom=20U?= =?UTF-8?q?RL=20(opencmis=20backed=20by=20Apache=20Chemistry=20OpenCMIS)?= =?UTF-8?q?=20does=20not=20support=20External=20authentication=20=20=20=20?= =?UTF-8?q?=20-=20Now=20it=20supports=20all=20kinds=20of=20authentication?= =?UTF-8?q?=20because=20it=20sits=20behind=20Alfresco's=20authentication?= =?UTF-8?q?=20filters=20=20=20=20=20-=20Fix=20researched=20by=20Alex=20Muk?= =?UTF-8?q?ha=20=20=20=2047033:=20Merged=20V3.4-BUG-FIX=20to=20V4.1-BUG-FI?= =?UTF-8?q?X=20=20=20=20=20=20=2046453:=20ALF-18122=20/=20ALF-17708:=20Inc?= =?UTF-8?q?orrect=20behavior=20of=20"Show/Hide=20Breadcrumb"=20button=20wh?= =?UTF-8?q?en=20RM=20is=20installed=20=20=20=20=20=20=20-=20ContentService?= =?UTF-8?q?.getReader()=20now=20triggers=20a=20transaction=20retry=20if=20?= =?UTF-8?q?content=20is=20found=20to=20have=20disappeared=20under=20its=20?= =?UTF-8?q?feet=20due=20to=20eager=20content=20cleaning=20=20=20=20=20=20?= =?UTF-8?q?=2046495:=20ALF-18122=20/=20ALF-17708:=20Incorrect=20behavior?= =?UTF-8?q?=20of=20"Show/Hide=20Breadcrumb"=20button=20when=20RM=20is=20in?= =?UTF-8?q?stalled=20=20=20=20=20=20=20-=20lower=20impact=20fix=20will=20o?= =?UTF-8?q?nly=20throw=20retryable=20exception=20if=20stream=20is=20access?= =?UTF-8?q?ed=20=20=20=20=20=20=2046822:=20ALF-18123:=20Merge=20Dev=20to?= =?UTF-8?q?=20V3.4-BUG-FIX=20=20=20=20=20=20=20=20=20ALF-17408=20:=20Conte?= =?UTF-8?q?nt=20is=20not=20displayed=20in=20imap=20folder=20after=20recove?= =?UTF-8?q?ring=20=20=20=20=20=20=2046823:=20ALF-18124=20/=20ALF-18091:=20?= =?UTF-8?q?Fix=20for=20MNT-311=20-=20authentication=20challenge=20not=20pr?= =?UTF-8?q?esent=20when=20users=20open=20direct=20links=20below=20/share/p?= =?UTF-8?q?roxy/alfresco/cmis/i=20=20=20=20=20=20=2046927:=20ALF-18124=20/?= =?UTF-8?q?=20ALF-18091:=20Merged=20PATCHES/V3.4.10=20to=20V3.4-BUG-FIX=20?= =?UTF-8?q?=20=20=20=20=20=20=20=20=2046925:=20Merged=20V3.4-BUG-FIX=20to?= =?UTF-8?q?=20PATCHES/V3.4.10=20(with=20correction)=20=20=20=20=20=20=20?= =?UTF-8?q?=20=20=20=20=20=2046823:=20Fix=20for=20MNT-311=20-=20authentica?= =?UTF-8?q?tion=20challenge=20not=20present=20when=20users=20open=20direct?= =?UTF-8?q?=20links=20below=20/share/proxy/alfresco/cmis/*/content=20=20?= =?UTF-8?q?=20=20=20=20=2046942:=20ALF-17990:=20Fix=20security=20descripto?= =?UTF-8?q?rs=20for=20new=20FileFolderService=20isHidden=20setHidden=20met?= =?UTF-8?q?hods=20=20=20=20=20=20=2047021:=20ALF-18125:=20Merged=20DEV=20t?= =?UTF-8?q?o=20V3.4-BUG-FIX=20=20=20=20=20=20=20=20=20=2046825:=20ALF-1768?= =?UTF-8?q?1=20:=20Lucene=20Search=20queries=20with=20PATH=20doesn't=20wor?= =?UTF-8?q?k=20in=20tenants=20=20=20=20=20=20=20=20=20=20A=20JUnit=20test?= =?UTF-8?q?=20was=20implemented=20to=20show=20that=20the=20PATH=20Lucene?= =?UTF-8?q?=20indexes=20are=20not=20created=20correctly=20for=20tenants.?= =?UTF-8?q?=20=20=20=20=20=20=20=20=20=2046968:=20ALF-17681=20:=20Lucene?= =?UTF-8?q?=20Search=20queries=20with=20PATH=20doesn't=20work=20in=20tenan?= =?UTF-8?q?ts=20=20=20=20=20=20=20=20=20=20The=20creation=20of=20PATH=20in?= =?UTF-8?q?dexes=20is=20now=20made=20in=20context=20of=20multi=20tenant=20?= =?UTF-8?q?System=20user=20to=20run=20the=20reindexing=20process=20correct?= =?UTF-8?q?ly=20in=20unauthenticated=20threads.=20=20=20=2047034:=20Merged?= =?UTF-8?q?=20V3.4-BUG-FIX=20to=20V4.1-BUG-FIX=20(RECORD=20ONLY)=20=20=20?= =?UTF-8?q?=20=20=20=2047030:=20ALF-16102:=20Merged=20PATCHES/V3.4.10=20to?= =?UTF-8?q?=20V3.4-BUG-FIX=20(RECORD=20ONLY)=20=20=20=20=20=20=20=20=20=20?= =?UTF-8?q?41755:=20ALF-16013:=20Merged=20V4.1-BUG-FIX=20to=20PATCHES/V3.4?= =?UTF-8?q?.10=20=20=20=20=20=20=20=20=20=20=20=20=2041539:=20ALF-15899:?= =?UTF-8?q?=20Inbound=20email=20does=20not=20support=20multiple=20recipien?= =?UTF-8?q?t=20folders=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20-=20?= =?UTF-8?q?Fix=20by=20Dmitry=20Vaserin=20=20=20=20=20=20=2047031:=20ALF-18?= =?UTF-8?q?121:=20Merged=20PATCHES/V3.4.11=20to=20V3.4-BUG-FIX=20=20=20=20?= =?UTF-8?q?=20=20=20=20=20=2046978:=20MNT-320:=20Merged=20HEAD=20to=20PATC?= =?UTF-8?q?HES/V3.4.11:=20=20=20=20=20=20=20=20=20=20=20=20=2036623:=20ALF?= =?UTF-8?q?-10243:=20form-service=20date-control=20now=20allows=20configur?= =?UTF-8?q?ing=20only=20to=20send=20date-component=20of=20date-only=20form?= =?UTF-8?q?fields=20(timezone=20and=20time-component=20is=20reset=20server?= =?UTF-8?q?-side=20to=20prevent=20unnecesairy=20timezone-issues)=20=20=20?= =?UTF-8?q?=2047035:=20Merged=20PATCHES/V4.1.3=20to=20V4.1-BUG-FIX=20=20?= =?UTF-8?q?=20=20=20=20=2046398:=20Fix=20for=20=20=20=20=20ALF-17889=20=20?= =?UTF-8?q?=20Alfresco=20failing=20as=20constraint=20in=20extension=20mode?= =?UTF-8?q?l=20cannot=20be=20defined=20=20=20=20=20=20=20-=20use=20the=20n?= =?UTF-8?q?amespace=20from=20the=20containing=20model=20and=20not=20the=20?= =?UTF-8?q?over-ridden=20property.=20=20=20=20=20=20=2046426:=20Merged=20B?= =?UTF-8?q?RANCHES/DEV/V4.1-BUG-FIX=20to=20PATCHES/V4.1.3:=20=20=20=20=20?= =?UTF-8?q?=20=20=20=20=2046421:=20Fix=20for=20ALF-17886.=20DeleteRenditio?= =?UTF-8?q?nActionExecuter=20Acces=20is=20denied.=20=20=20=20=20=20=204644?= =?UTF-8?q?6:=20ALF-17864:=20BM-0013:=20Soak:=20Run=2005:=20SiteService.li?= =?UTF-8?q?stSites(username,=20size)=20performance=20(=3D>=20via=20listSit?= =?UTF-8?q?esImpl)=20=20=20=20=20=20=20-=20isAuthorityContained=20made=20t?= =?UTF-8?q?o=20prune=20its=20search=20drastically=20-=20it=20caches=20hits?= =?UTF-8?q?=20and=20misses=20speeding=20up=20the=20search=20in=20a=20deepl?= =?UTF-8?q?y=20nested=20group=20hierarchy=20such=20as=20SAP's=20=20=20=20?= =?UTF-8?q?=20=20=20-=20To=20avoid=20huge=20memory=20impact=20with=20lots?= =?UTF-8?q?=20of=20duplicate=20copies=20of=20authority=20names=20a=20pool?= =?UTF-8?q?=20of=20authority=20names=20is=20shared=20across=20all=20thread?= =?UTF-8?q?s=20=20=20=20=20=20=20-=20getContainingAuthoritesInZone=20reins?= =?UTF-8?q?tated=20for=20site=20listing=20as=20it=20warms=20the=20same=20c?= =?UTF-8?q?aches=20as=20the=20ACLs=20=20=20=20=20=20=20-=20Derek's=20lates?= =?UTF-8?q?t=20tests=20with=20the=20changes=20applied=20showed=20a=20good?= =?UTF-8?q?=20speed=20up=20=20=20=20=20=20=2046501:=20ALF-17929:=20BM-0013?= =?UTF-8?q?:=20Soak:=20Run=2006:=20/api/sites/{shortname}/memberships/{aut?= =?UTF-8?q?horityname}=20/=20SiteServiceImpl.getMembersRoleInfo=20performa?= =?UTF-8?q?nce=20poor=20=20=20=20=20=20=20-=20Possible=20fix=20to=20regres?= =?UTF-8?q?sion=20caused=20by=20ALF-16254=20=20=20=20=20=20=20-=20A=20very?= =?UTF-8?q?=20inefficient=20route=20was=20being=20taken=20towards=20checki?= =?UTF-8?q?ng=20a=20user's=20indirect=20site=20role=20=20=20=20=20=20=2046?= =?UTF-8?q?502:=20ALF-17930:=20BM-0013:=20Soak:=20Run=2006:=20ConcurrentMo?= =?UTF-8?q?dificationException=20in=20AuthorityDAOImpl=20=20=20=20=20=20?= =?UTF-8?q?=20-=20Don't=20try=20to=20mutate=20the=20set=20returned=20by=20?= =?UTF-8?q?getContainingAuthorities()=20=20=20=20=20=20=2046503:=20ALF-179?= =?UTF-8?q?29:=20BM-0013:=20Soak:=20Run=2006:=20/api/sites/{shortname}/mem?= =?UTF-8?q?berships/{authorityname}=20/=20SiteServiceImpl.getMembersRoleIn?= =?UTF-8?q?fo=20performance=20poor=20=20=20=20=20=20=20-=20Further=20optim?= =?UTF-8?q?izations=20to=20prevent=20unnecessary=20recursion=20in=20Author?= =?UTF-8?q?ityDAOImpl.listAuthorities()=20=20=20=20=20=20=2046506:=20ALF-1?= =?UTF-8?q?7929:=20BM-0013:=20Soak:=20Run=2006:=20/api/sites/{shortname}/m?= =?UTF-8?q?emberships/{authorityname}=20/=20SiteServiceImpl.getMembersRole?= =?UTF-8?q?Info=20performance=20poor=20=20=20=20=20=20=20-=20Fixed=20typo?= =?UTF-8?q?=20producing=20invalid=20membership=20results=20=20=20=20=20=20?= =?UTF-8?q?=2046627:=20ALF-17967:=20Error=20in=20org.alfresco.repo.workflo?= =?UTF-8?q?w.WorkflowServiceImpl.getPooledTasks=20on=20StartUp.=20=20=20?= =?UTF-8?q?=20=20=20=20-=20Logic=20error=20in=20org.alfresco.repo.workflow?= =?UTF-8?q?.WorkflowServiceImpl.getPooledTasks()=20introduced=20in=20ALF-1?= =?UTF-8?q?4861=20/=20r45421=20=20=20=20=20=20=20-=20Rather=20than=20fixin?= =?UTF-8?q?g=20the=20screwy=20logic=20(which=20I=20think=20would=20cause?= =?UTF-8?q?=20a=20major=20performance=20hit)=20I'm=20reinstating=20the=204?= =?UTF-8?q?.1.2=20"cut=20off=20after=20100=20groups"=20behaviour=20=20=20?= =?UTF-8?q?=20=20=20=2046630:=20Merged=204.1-BUG-FIX=20to=20PATCHES/V4.1.3?= =?UTF-8?q?=20=20=20=20=20=20=20=20=20=2046562:=20ALF-17917:=20Corrected?= =?UTF-8?q?=20internationalization=20of=20Imap=20Home=20folder=20=20=20=20?= =?UTF-8?q?=20=20=20=20=20=20-=20Unfinished=20business=20from=20ALF-15700?= =?UTF-8?q?=20=20=20=20=20=20=20=20=20=2046565:=20ALF-17917:=20Correction?= =?UTF-8?q?=20to=20previous=20fix=20=20=20=20=20=20=20=20=20=20-=20Use=20d?= =?UTF-8?q?istinct=20key=20spaces.imap=5Fhome.childname,=20because=20space?= =?UTF-8?q?s.imapConfig.childname=20was=20already=20being=20used=20for=20o?= =?UTF-8?q?ther=20purposes=20=20=20=20=20=20=2046779:=20ALF-17967:=20Error?= =?UTF-8?q?=20in=20org.alfresco.repo.workflow.WorkflowServiceImpl.getPoole?= =?UTF-8?q?dTasks=20on=20StartUp.=20=20=20=20=20=20=20-=20Improved=20fix?= =?UTF-8?q?=20that=20uses=20the=20bridge=20table=20cache=20if=20it=20is=20?= =?UTF-8?q?available=20=20=20=20=20=20=20-=20Groups=20queried=20for=20pool?= =?UTF-8?q?ed=20tasks=20still=20limited=20to=20100=20by=20default=20but=20?= =?UTF-8?q?can=20be=20configured=20with=20system.workflow.maxAuthoritiesFo?= =?UTF-8?q?rPooledTasks=20=20=20=20=20=20=20-=20Overall=20number=20of=20re?= =?UTF-8?q?sults=20can=20be=20cut=20off=20with=20system.workflow.maxPooled?= =?UTF-8?q?Tasks=20=20=20=20=20=20=2047013:=20Fix=20HiddenAspect=20to=20NO?= =?UTF-8?q?T=20use=20permission-checking=20NodeService=20=20=20=20=20=20?= =?UTF-8?q?=20=20-=20Should=20fix=20ALF-17605:=20CLONE=20-=20Severe=20perf?= =?UTF-8?q?ormance=20problems=20with=20Group=20ACL=20checking=20under=20st?= =?UTF-8?q?ress=20test=20=20=20=20=20=20=2047018:=20(RECORD=20ONLY)=20Disa?= =?UTF-8?q?bled=20EmailServiceImplTest.testEmailContributorsAuthority=20pe?= =?UTF-8?q?nding=20ALF-17979=20=20=20=2047036:=20Merged=20PATCHES/V4.1.2?= =?UTF-8?q?=20to=20V4.1-BUG-FIX=20=20=20=20=20=20=2046180:=20Merged=20DEV?= =?UTF-8?q?=20to=20PATCHES/V4.1.2=20=20=20=20=20=20=20=20=20=2046170:=20MN?= =?UTF-8?q?T-299=20:=20CLONE=20-=20Activity=20feeds=20get=20not=20generate?= =?UTF-8?q?d=20in=20private=20sites=20for=20added=20files=20if=20username?= =?UTF-8?q?=20in=20LDAP-AD=20contains=20uppercase=20letters=20=20=20=20=20?= =?UTF-8?q?=20=20=20=20=20=20=20=20Improved=20debug=20logging=20for=20Acti?= =?UTF-8?q?vity=20Feed=20and=20Activity=20Post=20DAOs.=20=20=20=2047037:?= =?UTF-8?q?=20ALF-17973=20(Incorrect=20name=20(title.single/title.multi)?= =?UTF-8?q?=20for=20"cloud=20target=20selection"=20window=20when=20RM=20is?= =?UTF-8?q?=20installed)=20=20=20=2047042:=20RM-601=20(Copy/Move=20dialog?= =?UTF-8?q?=20causes=20an=20error=20in=20firebug=20console)=20=20=20=20470?= =?UTF-8?q?47:=20DE:=20Translation=20update=20based=20on=20EN=20r46507=20?= =?UTF-8?q?=20=20=2047048:=20SPANISH:=20Translation=20update=20based=20on?= =?UTF-8?q?=20EN=20r46507=20=20=20=2047049:=20FRENCH:=20Translation=20upda?= =?UTF-8?q?te=20based=20on=20EN=20r46507=20=20=20=2047050:=20ITALIAN:=20Tr?= =?UTF-8?q?anslation=20update=20based=20on=20EN=20r46507=20=20=20=2047051:?= =?UTF-8?q?=20NORWEGIAN:=20Translation=20update=20based=20on=20EN=20r46507?= =?UTF-8?q?=20=20=20=2047052:=20JAPANESE:=20Translation=20update=20based?= =?UTF-8?q?=20on=20EN=20r46507=20=20=20=2047089:=20ALF-17089=20(Displaying?= =?UTF-8?q?=20Url=20Name=20instead=20of=20site=20Name=20in=20Select=20form?= =?UTF-8?q?)=20=20=20=2047102:=20New=20Norwegian=20translations=20from=20G?= =?UTF-8?q?loria=20plus=20Bitrock=20configuration=20to=20enable=20them=20?= =?UTF-8?q?=20=20=2047110:=20ALF-10243:=20Merged=20V3.4-BUG-FIX=20to=20V4.?= =?UTF-8?q?1-BUG-FIX=20=20=20=20=20=20=2047105:=20ALF-18121:=20Merged=20PA?= =?UTF-8?q?TCHES/V3.4.11=20to=20V3.4-BUG-FIX=20=20=20=20=20=20=20=20=20=20?= =?UTF-8?q?47040:=20MNT-323:=20Fixed=20issue=20with=20passing=20empty=20du?= =?UTF-8?q?e=20date=20when=20starting=20workflow=20=20=20=20=20=20=20=20?= =?UTF-8?q?=20=2047101:=20MNT-320:=20also=20applied=20fix=20to=20wcmquicks?= =?UTF-8?q?tart=20module=20=20=20=20=20=20=2047109:=20ALF-18121:=20Merged?= =?UTF-8?q?=20PATCHES/V3.4.11=20to=20V3.4-BUG-FIX=20=20=20=20=20=20=20=20?= =?UTF-8?q?=20=2047106:=20MNT-320:=20Merged=20V4.1-BUG-FIX=20to=20PATCHES/?= =?UTF-8?q?V3.4.11=20=20=20=20=20=20=20=20=20=20=20=20=2041010:=20ALF-1569?= =?UTF-8?q?7:=20Not=20possible=20to=20start=20workflow=20not=20specifying?= =?UTF-8?q?=20the=20Due=20Date=20=20=20=20=20=20=20=20=20=20=20=20=20=20?= =?UTF-8?q?=20=20-=20Regression=20caused=20by=20ALF-10243=20=20=20=2047135?= =?UTF-8?q?:=20DUTCH:=20Translation=20update=20based=20on=20EN=20r46507=20?= =?UTF-8?q?=20=20=2047137:=20RUSSIAN:=20Translation=20update=20based=20on?= =?UTF-8?q?=20EN=20r46507=20=20=20=2047138:=20CHINESE:=20Translation=20upd?= =?UTF-8?q?ate=20based=20on=20EN=20r46507=20=20=20=2047141:=20Fix=20for=20?= =?UTF-8?q?=20=20=20=20ALF-17979=20=20=20=20EmailServiceImplTest=20intermi?= =?UTF-8?q?ttently=20failing=20=20=20=2047147:=20Part=202=20of=20=20=20=20?= =?UTF-8?q?ALF-17979=20=20=20EmailServiceImplTest=20intermittently=20faili?= =?UTF-8?q?ng=20=20=20=20-=20fix=20related=20cache=20to=20avoid=20any=20fu?= =?UTF-8?q?ture=20issue=20=20=20=2047148:=20ALF-17804:=20Fix=20NPE=20=20?= =?UTF-8?q?=20=2047171:=20ALF-18060:=20removing=20obsolete=20expensive=20s?= =?UTF-8?q?orting=20and=20preventing=20too=20many=20variable-queries=20to?= =?UTF-8?q?=20be=20performed=20when=20listing=20COMPLETED=20WorkflowTask?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@47186 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- config/alfresco/messages/webclient.properties | 1 + .../alfresco/messages/webclient_de.properties | 2 + .../alfresco/messages/webclient_es.properties | 2 + .../alfresco/messages/webclient_fr.properties | 2 + .../alfresco/messages/webclient_it.properties | 2 + .../alfresco/messages/webclient_ja.properties | 2 + .../messages/webclient_nb_NO.properties | 2 + .../alfresco/messages/webclient_nl.properties | 2 + .../alfresco/messages/webclient_ru.properties | 2 + .../messages/webclient_zh_CN.properties | 2 + .../alfrescoNtlm/ntlm-filter-context.xml | 3 + .../kerberos/kerberos-filter-context.xml | 3 + .../passthru/ntlm-filter-context.xml | 3 + .../web-client-application-context.xml | 39 +++++- .../alfresco/web-client-config-properties.xml | 12 +- .../WebScriptSSOAuthenticationFilter.java | 47 +------ .../WebscriptCookieAuthenticationFilter.java | 81 ++++++++++++ .../web/bean/wcm/EditWebContentWizard.java | 21 ++++ .../web/bean/workflow/WorkflowBean.java | 54 +------- .../web/bean/workflow/WorkflowTaskNode.java | 115 ++++++++++++++++++ .../ui/repo/component/UIContentSelector.java | 2 +- source/web/WEB-INF/web.xml | 35 +++++- .../ajax/dojo/src/widget/DatePicker.js | 12 +- .../ajax/dojo/src/widget/TimePicker.js | 20 +++ .../dojo/src/widget/templates/TimePicker.html | 4 +- source/web/scripts/ajax/xforms.js | 11 +- 26 files changed, 374 insertions(+), 107 deletions(-) create mode 100644 source/java/org/alfresco/web/app/servlet/WebscriptCookieAuthenticationFilter.java create mode 100644 source/java/org/alfresco/web/bean/workflow/WorkflowTaskNode.java diff --git a/config/alfresco/messages/webclient.properties b/config/alfresco/messages/webclient.properties index 945baa5a3c..d124032ec4 100644 --- a/config/alfresco/messages/webclient.properties +++ b/config/alfresco/messages/webclient.properties @@ -1744,6 +1744,7 @@ assignee=Assignee comment=Comment invalid_task=The task being viewed is no longer valid, it has probably been completed by another user. error_webprj_does_not_exist=Web project {0} does not exist (it may have been deleted) +inviteOutcome=Review Outcome # Workflow Definitions wf_review_options=Review Options diff --git a/config/alfresco/messages/webclient_de.properties b/config/alfresco/messages/webclient_de.properties index b28d58f958..370467a5a5 100644 --- a/config/alfresco/messages/webclient_de.properties +++ b/config/alfresco/messages/webclient_de.properties @@ -353,6 +353,7 @@ Collaborator=Mitarbeiter Contributor=Beitragender Editor=Editor All=Alle +FullControl=Vollzugriff ContentManager=Content Manager ContentPublisher=Content Publisher ContentContributor=Content Contributor @@ -1743,6 +1744,7 @@ assignee=Bevollm\u00e4chtigter comment=Kommentar invalid_task=Die angezeigte Aufgabe ist nicht mehr g\u00fcltig, sie wurde vermutlich von einem anderen Benutzer abgeschlossen. error_webprj_does_not_exist=Web-Projekt {0} existiert nicht (wurde m\u00f6glicherweise gel\u00f6scht) +inviteOutcome=\u00dcberpr\u00fcfungsergebnis # Workflow Definitions wf_review_options=Optionen \u00fcberpr\u00fcfen diff --git a/config/alfresco/messages/webclient_es.properties b/config/alfresco/messages/webclient_es.properties index 3faafd3180..a8e4a8fbac 100755 --- a/config/alfresco/messages/webclient_es.properties +++ b/config/alfresco/messages/webclient_es.properties @@ -353,6 +353,7 @@ Collaborator=Colaborador Contributor=Contribuidor Editor=Editor All=Todos +FullControl=Control completo ContentManager=Administrador de contenidos ContentPublisher=Editor de contenidos ContentContributor=Contribuidor de contenidos @@ -1743,6 +1744,7 @@ assignee=Asignado a comment=Comentario invalid_task=La tarea que se est\u00e1 viendo ya no es v\u00e1lida, probablemente ha sido completada por otro usuario. error_webprj_does_not_exist=El proyecto Web {0} no existe (puede haber sido eliminado) +inviteOutcome=Revisar resultado # Workflow Definitions wf_review_options=Revisar opciones diff --git a/config/alfresco/messages/webclient_fr.properties b/config/alfresco/messages/webclient_fr.properties index eb7f0e1588..e7ae8da4db 100755 --- a/config/alfresco/messages/webclient_fr.properties +++ b/config/alfresco/messages/webclient_fr.properties @@ -353,6 +353,7 @@ Collaborator=Collaborateur Contributor=Contributeur Editor=Editeur All=Toutes +FullControl=Contr\u00f4le complet ContentManager=Gestionnaire de contenu ContentPublisher=Responsable de publication ContentContributor=Contributeur de contenu @@ -1743,6 +1744,7 @@ assignee=Personne assign\u00e9e comment=Commentaire invalid_task=La t\u00e2che visualis\u00e9e n'est plus valide, elle a probablement \u00e9t\u00e9 finalis\u00e9e par un autre utilisateur. error_webprj_does_not_exist=Le projet Web {0} n''existe pas (il a peut-\u00eatre \u00e9t\u00e9 supprim\u00e9) +inviteOutcome=R\u00e9sultat de la r\u00e9vision # Workflow Definitions wf_review_options=Options de relecture diff --git a/config/alfresco/messages/webclient_it.properties b/config/alfresco/messages/webclient_it.properties index 90bbf32b31..e8e88b4c9a 100755 --- a/config/alfresco/messages/webclient_it.properties +++ b/config/alfresco/messages/webclient_it.properties @@ -353,6 +353,7 @@ Collaborator=Collaboratore Contributor=Contributore Editor=Redattore All=Tutti +FullControl=Controllo completo ContentManager=Manager contenuto ContentPublisher=Editore contenuto ContentContributor=Contributore contenuto @@ -1743,6 +1744,7 @@ assignee=Assegnatario comment=Commento invalid_task=Il compito visualizzato non \u00e8 pi\u00f9 valido. \u00c8 probabile che sia stato completato da un altro utente. error_webprj_does_not_exist=Il progetto web {0} non esiste (\u00e8 possibile che sia stato eliminato) +inviteOutcome=Esamina risultato # Workflow Definitions wf_review_options=Opzioni esame diff --git a/config/alfresco/messages/webclient_ja.properties b/config/alfresco/messages/webclient_ja.properties index a3e58b4c52..f5408b70d8 100755 --- a/config/alfresco/messages/webclient_ja.properties +++ b/config/alfresco/messages/webclient_ja.properties @@ -353,6 +353,7 @@ Collaborator=\u5171\u540c\u4f5c\u696d\u8005 Contributor=\u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30bf Editor=\u7de8\u96c6\u8005 All=\u3059\u3079\u3066 +FullControl=\u30d5\u30eb\u30b3\u30f3\u30c8\u30ed\u30fc\u30eb ContentManager=\u30b3\u30f3\u30c6\u30f3\u30c4\u30de\u30cd\u30fc\u30b8\u30e3 ContentPublisher=\u30b3\u30f3\u30c6\u30f3\u30c4\u767a\u884c\u8005 ContentContributor=\u30b3\u30f3\u30c6\u30f3\u30c4\u30b3\u30f3\u30c8\u30ea\u30d3\u30e5\u30fc\u30bf @@ -1743,6 +1744,7 @@ assignee=\u62c5\u5f53\u8005 comment=\u30b3\u30e1\u30f3\u30c8 invalid_task=\u8868\u793a\u3057\u3088\u3046\u3068\u3057\u3066\u3044\u308b\u30bf\u30b9\u30af\u306f\u7121\u52b9\u3067\u3059\u3002\u3059\u3067\u306b\u4ed6\u306e\u30e6\u30fc\u30b6\u30fc\u304c\u5b8c\u4e86\u3057\u3066\u3044\u308b\u53ef\u80fd\u6027\u304c\u3042\u308a\u307e\u3059\u3002 error_webprj_does_not_exist=Web\u30d7\u30ed\u30b8\u30a7\u30af\u30c8 {0} \u306f\u5b58\u5728\u3057\u307e\u305b\u3093\uff08\u524a\u9664\u3055\u308c\u305f\u53ef\u80fd\u6027\u304c\u3042\u308a\u307e\u3059\uff09\u3002 +inviteOutcome=\u30ec\u30d3\u30e5\u30fc\u7d50\u679c # Workflow Definitions wf_review_options=\u30ec\u30d3\u30e5\u30fc\u306e\u30aa\u30d7\u30b7\u30e7\u30f3 diff --git a/config/alfresco/messages/webclient_nb_NO.properties b/config/alfresco/messages/webclient_nb_NO.properties index 6015477990..b05d3644ca 100755 --- a/config/alfresco/messages/webclient_nb_NO.properties +++ b/config/alfresco/messages/webclient_nb_NO.properties @@ -353,6 +353,7 @@ Collaborator=Medarbeider Contributor=Bidragsyter Editor=Redakt\u00f8r All=Alle +FullControl=Full kontroll ContentManager=Innholdsadministrator ContentPublisher=Innholdsutgiver ContentContributor=Innholdsbidragsyter @@ -1743,6 +1744,7 @@ assignee=Den som tilordnes comment=Kommentar invalid_task=Oppgaven som vises, er ikke lenger gyldig. Den har sannsynligvis blitt fullf\u00f8rt av en annen bruker. error_webprj_does_not_exist=Webprosjektet {0} finnes ikke (det kan v\u00e6re slettet) +inviteOutcome=Gjennomgangsresultat # Workflow Definitions wf_review_options=Alternativer for gjennomgang diff --git a/config/alfresco/messages/webclient_nl.properties b/config/alfresco/messages/webclient_nl.properties index 80aeb84867..c5f472641b 100755 --- a/config/alfresco/messages/webclient_nl.properties +++ b/config/alfresco/messages/webclient_nl.properties @@ -353,6 +353,7 @@ Collaborator=Medewerker Contributor=Bijdrager Editor=Editor All=Alle +FullControl=Volledig beheer ContentManager=Contentmanager ContentPublisher=Contentuitgever ContentContributor=Contentbijdrager @@ -1743,6 +1744,7 @@ assignee=Uitvoerder comment=Opmerking invalid_task=De taak die wordt bekeken is niet langer geldig en is mogelijk voltooid door een andere gebruiker. error_webprj_does_not_exist=Webproject {0} bestaat niet (het project is mogelijk verwijderd) +inviteOutcome=Resultaat van revisie # Workflow Definitions wf_review_options=Revisieopties diff --git a/config/alfresco/messages/webclient_ru.properties b/config/alfresco/messages/webclient_ru.properties index 7658ebcb9b..ecaf827038 100755 --- a/config/alfresco/messages/webclient_ru.properties +++ b/config/alfresco/messages/webclient_ru.properties @@ -353,6 +353,7 @@ Collaborator=\u0420\u0435\u0434\u0430\u043A\u0442\u043E\u0440 Contributor=\u0410\u0432\u0442\u043E\u0440 Editor=\u0420\u0435\u0434\u0430\u043A\u0442\u043E\u0440 All=\u0412\u0441\u0435 +FullControl=\u041f\u043e\u043b\u043d\u044b\u0439 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044c ContentManager=\u041C\u0435\u043D\u0435\u0434\u0436\u0435\u0440 \u043A\u043E\u043D\u0442\u0435\u043D\u0442\u0430 ContentPublisher=\u0418\u0437\u0434\u0430\u0442\u0435\u043B\u044C \u043A\u043E\u043D\u0442\u0435\u043D\u0442\u0430 ContentContributor=\u0410\u0432\u0442\u043E\u0440 \u043A\u043E\u043D\u0442\u0435\u043D\u0442\u0430 @@ -1743,6 +1744,7 @@ assignee=\u0418\u0441\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u044C comment=\u041A\u043E\u043C\u043C\u0435\u043D\u0442\u0438\u0440\u043E\u0432\u0430\u0442\u044C invalid_task=\u041F\u0440\u043E\u0441\u043C\u0430\u0442\u0440\u0438\u0432\u0430\u0435\u043C\u0430\u044F \u0437\u0430\u0434\u0430\u0447\u0430 \u0441\u0442\u0430\u043B\u0430 \u043D\u0435\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043B\u044C\u043D\u043E\u0439, \u0432\u0435\u0440\u043E\u044F\u0442\u043D\u043E, \u043E\u043D\u0430 \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043D\u0430 \u0434\u0440\u0443\u0433\u0438\u043C \u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u0435\u043C. error_webprj_does_not_exist=\u0412\u0435\u0431-\u043F\u0440\u043E\u0435\u043A\u0442 {0} \u043D\u0435 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442 (\u0432\u043E\u0437\u043C\u043E\u0436\u043D\u043E, \u043E\u043D \u0443\u0434\u0430\u043B\u0435\u043D) +inviteOutcome=\u041f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 # Workflow Definitions wf_review_options=\u041F\u0440\u043E\u0432\u0435\u0440\u0438\u0442\u044C \u043F\u0430\u0440\u0430\u043C\u0435\u0442\u0440\u044B diff --git a/config/alfresco/messages/webclient_zh_CN.properties b/config/alfresco/messages/webclient_zh_CN.properties index 6cd5adf4a9..7bf6b13569 100755 --- a/config/alfresco/messages/webclient_zh_CN.properties +++ b/config/alfresco/messages/webclient_zh_CN.properties @@ -353,6 +353,7 @@ Collaborator=\u5408\u4f5c\u8005 Contributor=\u8d21\u732e\u8005 Editor=\u7f16\u8f91\u8005 All=\u5168\u90e8 +FullControl=\u5b8c\u5168\u63a7\u5236 ContentManager=\u5185\u5bb9\u7ba1\u7406\u5458 ContentPublisher=\u5185\u5bb9\u53d1\u5e03\u8005 ContentContributor=\u5185\u5bb9\u8d21\u732e\u8005 @@ -1743,6 +1744,7 @@ assignee=\u88ab\u6307\u6d3e\u8005 comment=\u8bc4\u8bba invalid_task=\u6b63\u5728\u67e5\u770b\u7684\u4efb\u52a1\u4e0d\u518d\u6709\u6548\uff0c\u53ef\u80fd\u662f\u56e0\u4e3a\u5df2\u88ab\u53e6\u4e00\u4f4d\u7528\u6237\u5b8c\u6210\u3002 error_webprj_does_not_exist=Web \u9879\u76ee {0} \u4e0d\u5b58\u5728\uff08\u53ef\u80fd\u5df2\u5220\u9664\uff09 +inviteOutcome=\u590d\u67e5\u7ed3\u679c # Workflow Definitions wf_review_options=\u590d\u67e5\u9009\u9879 diff --git a/config/alfresco/subsystems/Authentication/alfrescoNtlm/ntlm-filter-context.xml b/config/alfresco/subsystems/Authentication/alfrescoNtlm/ntlm-filter-context.xml index eedaab66fe..ce92eb2665 100644 --- a/config/alfresco/subsystems/Authentication/alfrescoNtlm/ntlm-filter-context.xml +++ b/config/alfresco/subsystems/Authentication/alfrescoNtlm/ntlm-filter-context.xml @@ -39,6 +39,9 @@ + + + diff --git a/config/alfresco/subsystems/Authentication/kerberos/kerberos-filter-context.xml b/config/alfresco/subsystems/Authentication/kerberos/kerberos-filter-context.xml index dc4f85e0f0..ed659b2456 100644 --- a/config/alfresco/subsystems/Authentication/kerberos/kerberos-filter-context.xml +++ b/config/alfresco/subsystems/Authentication/kerberos/kerberos-filter-context.xml @@ -48,6 +48,9 @@ ${kerberos.authentication.stripUsernameSuffix} + + + diff --git a/config/alfresco/subsystems/Authentication/passthru/ntlm-filter-context.xml b/config/alfresco/subsystems/Authentication/passthru/ntlm-filter-context.xml index eedaab66fe..ce92eb2665 100644 --- a/config/alfresco/subsystems/Authentication/passthru/ntlm-filter-context.xml +++ b/config/alfresco/subsystems/Authentication/passthru/ntlm-filter-context.xml @@ -39,6 +39,9 @@ + + + diff --git a/config/alfresco/web-client-application-context.xml b/config/alfresco/web-client-application-context.xml index 627722aa64..5946fec994 100644 --- a/config/alfresco/web-client-application-context.xml +++ b/config/alfresco/web-client-application-context.xml @@ -212,7 +212,44 @@ - + + + + + + + + org.alfresco.repo.web.filter.beans.DependencyInjectedFilter + + + + cookieBasedAuthenticationFilter + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/config/alfresco/web-client-config-properties.xml b/config/alfresco/web-client-config-properties.xml index 04011ce8fd..1ee3d11e8d 100644 --- a/config/alfresco/web-client-config-properties.xml +++ b/config/alfresco/web-client-config-properties.xml @@ -841,5 +841,15 @@ - + + + + + + + + + + + diff --git a/source/java/org/alfresco/web/app/servlet/WebScriptSSOAuthenticationFilter.java b/source/java/org/alfresco/web/app/servlet/WebScriptSSOAuthenticationFilter.java index f82c9e417a..f0ab35eada 100644 --- a/source/java/org/alfresco/web/app/servlet/WebScriptSSOAuthenticationFilter.java +++ b/source/java/org/alfresco/web/app/servlet/WebScriptSSOAuthenticationFilter.java @@ -26,27 +26,22 @@ import javax.servlet.ServletException; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; -import org.alfresco.repo.SessionUser; import org.alfresco.repo.management.subsystems.ActivateableBean; import org.alfresco.repo.web.filter.beans.DependencyInjectedFilter; import org.alfresco.repo.webdav.auth.BaseAuthenticationFilter; -import org.alfresco.service.cmr.repository.NodeRef; -import org.alfresco.web.bean.repository.User; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.springframework.extensions.surf.util.URLDecoder; +import org.springframework.extensions.webscripts.Description.RequiredAuthentication; import org.springframework.extensions.webscripts.Match; import org.springframework.extensions.webscripts.RuntimeContainer; -import org.springframework.extensions.webscripts.Description.RequiredAuthentication; /** * WebScript aware Authentication Filter Class. Takes into account the authentication setting in the descriptor for the * webscript before chaining to the downstream authentication filters. If authentication is not required then chains * with the NO_AUTH_REQUIRED request attribute set, which should cause any downstream authentication filter to bypass - * authentication checks. Also directly handles login script calls, allowing Surf to establish a cookie for a manual log - * in, rather than the usual stateless ticket based logins used in non-SSO mode. + * authentication checks. * * @author Kevin Roast * @author dward @@ -54,16 +49,9 @@ import org.springframework.extensions.webscripts.Description.RequiredAuthenticat public class WebScriptSSOAuthenticationFilter extends BaseAuthenticationFilter implements DependencyInjectedFilter, ActivateableBean { - private static final String API_LOGIN = "/api/login"; private static final Log logger = LogFactory.getLog(WebScriptSSOAuthenticationFilter.class); private RuntimeContainer container; private boolean isActive = true; - - - public WebScriptSSOAuthenticationFilter() - { - setUserAttributeName(AuthenticationHelper.AUTHENTICATION_USER); - } /** * @param container the container to set @@ -72,8 +60,7 @@ public class WebScriptSSOAuthenticationFilter extends BaseAuthenticationFilter i { this.container = container; } - - + /** * Activates or deactivates the bean * @@ -102,7 +89,6 @@ public class WebScriptSSOAuthenticationFilter extends BaseAuthenticationFilter i { // Get the HTTP request/response HttpServletRequest req = (HttpServletRequest)sreq; - HttpServletResponse res = (HttpServletResponse)sresp; // find a webscript match for the requested URI String requestURI = req.getRequestURI(); @@ -125,32 +111,9 @@ public class WebScriptSSOAuthenticationFilter extends BaseAuthenticationFilter i } } - // Allow propagation of manual logins to the session user - String script = req.getPathInfo(); - if (script != null && script.equals(API_LOGIN) && req.getMethod().equalsIgnoreCase("POST")) - { - if (handleLoginForm(req, res)); - { - // Establish the session locale using request headers rather than web client preferences - AuthenticationHelper.setupThread(context, req, res, false); - } - } - else - { - chain.doFilter(sreq, sresp); - } + chain.doFilter(sreq, sresp); } - - @Override - protected SessionUser createUserObject(String userName, String ticket, NodeRef personNode, NodeRef homeSpaceRef) - { - // Create a web client user object - User user = new User( userName, ticket, personNode); - user.setHomeSpaceId( homeSpaceRef.getId()); - - return user; - } - + /* (non-Javadoc) * @see org.alfresco.repo.webdav.auth.BaseAuthenticationFilter#getLogger() */ diff --git a/source/java/org/alfresco/web/app/servlet/WebscriptCookieAuthenticationFilter.java b/source/java/org/alfresco/web/app/servlet/WebscriptCookieAuthenticationFilter.java new file mode 100644 index 0000000000..257c0f8a45 --- /dev/null +++ b/source/java/org/alfresco/web/app/servlet/WebscriptCookieAuthenticationFilter.java @@ -0,0 +1,81 @@ +package org.alfresco.web.app.servlet; + +import java.io.IOException; + +import javax.servlet.FilterChain; +import javax.servlet.ServletContext; +import javax.servlet.ServletException; +import javax.servlet.ServletRequest; +import javax.servlet.ServletResponse; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +import org.alfresco.repo.SessionUser; +import org.alfresco.repo.web.filter.beans.DependencyInjectedFilter; +import org.alfresco.repo.webdav.auth.BaseAuthenticationFilter; +import org.alfresco.service.cmr.repository.NodeRef; +import org.alfresco.web.bean.repository.User; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; + + +/** + * WebScript aware Authentication Filter. Directly handles login script calls, allowing Surf to establish a cookie + * for a manual login, rather than the usual stateless ticket based logins. + * + * This functionality has been extracted from the WebScriptSSOAuthenticationFilter so that they can work independently. + * + * @author Gethin James + */ +public class WebscriptCookieAuthenticationFilter extends BaseAuthenticationFilter implements DependencyInjectedFilter +{ + + private static final Log logger = LogFactory.getLog(WebscriptCookieAuthenticationFilter.class); + private static final String API_LOGIN = "/api/login"; + + public WebscriptCookieAuthenticationFilter() + { + setUserAttributeName(AuthenticationHelper.AUTHENTICATION_USER); + } + + + @Override + public void doFilter(ServletContext context, ServletRequest sreq, ServletResponse sresp, FilterChain chain) throws IOException, ServletException + { + + // Get the HTTP request/response + HttpServletRequest req = (HttpServletRequest)sreq; + HttpServletResponse res = (HttpServletResponse)sresp; + + // Allow propagation of manual logins to the session user + if (API_LOGIN.equals(req.getPathInfo()) && req.getMethod().equalsIgnoreCase("POST")) + { + if (handleLoginForm(req, res)); + { + // Establish the session locale using request headers rather than web client preferences + AuthenticationHelper.setupThread(context, req, res, false); + } + } + else + { + chain.doFilter(sreq, sresp); + } + } + + @Override + protected SessionUser createUserObject(String userName, String ticket, NodeRef personNode, NodeRef homeSpaceRef) + { + // Create a web client user object + User user = new User( userName, ticket, personNode); + user.setHomeSpaceId( homeSpaceRef.getId()); + + return user; + } + + @Override + protected Log getLogger() + { + return logger; + } + +} diff --git a/source/java/org/alfresco/web/bean/wcm/EditWebContentWizard.java b/source/java/org/alfresco/web/bean/wcm/EditWebContentWizard.java index fbeef1a2ff..b105c9ed13 100644 --- a/source/java/org/alfresco/web/bean/wcm/EditWebContentWizard.java +++ b/source/java/org/alfresco/web/bean/wcm/EditWebContentWizard.java @@ -48,6 +48,7 @@ public class EditWebContentWizard extends CreateWebContentWizard private AVMNode avmNode; private Form form; + private String storeNameBeforeEditing; protected Set existingLocks = null; @@ -87,6 +88,7 @@ public class EditWebContentWizard extends CreateWebContentWizard // calculate which locks are present at init time this.existingLocks = new HashSet(4); + this.storeNameBeforeEditing = null; String lock = this.getAvmLockingService().getLockOwner(AVMUtil.getStoreId(this.createdPath), AVMUtil.getStoreRelativePath(this.createdPath)); if (lock != null) @@ -148,6 +150,24 @@ public class EditWebContentWizard extends CreateWebContentWizard } } } + + if (this.storeNameBeforeEditing != null) + { + String storeId = AVMUtil.getStoreId(this.createdPath); + String storePath = AVMUtil.getStoreRelativePath(this.createdPath); + String lockOwner = this.getAvmLockingService().getLockOwner(storeId, storePath); + Map lockData = this.getAvmLockingService().getLockData(storeId, storePath); + + if (lockOwner != null) + { + if (logger.isDebugEnabled()) + logger.debug("transferring lock from " + lockData.get(WCMUtil.LOCK_KEY_STORE_NAME) + " to " + + storeNameBeforeEditing + " on cancel editing"); + + lockData.put(WCMUtil.LOCK_KEY_STORE_NAME, this.storeNameBeforeEditing); + this.getAvmLockingService().modifyLock(storeId, storePath, lockOwner, storeId, storePath, lockData); + } + } return super.cancel(); } @@ -182,6 +202,7 @@ public class EditWebContentWizard extends CreateWebContentWizard if (logger.isDebugEnabled()) logger.debug("transferring lock from " + lockData.get(WCMUtil.LOCK_KEY_STORE_NAME) + " to " + storeName); + this.storeNameBeforeEditing = lockData.get(WCMUtil.LOCK_KEY_STORE_NAME); lockData.put(WCMUtil.LOCK_KEY_STORE_NAME, AVMUtil.getStoreName(this.createdPath)); this.getAvmLockingService().modifyLock(storeId, storePath, lockOwner, storeId, storePath, lockData); } diff --git a/source/java/org/alfresco/web/bean/workflow/WorkflowBean.java b/source/java/org/alfresco/web/bean/workflow/WorkflowBean.java index 75fbfa6e92..abccdb4de3 100644 --- a/source/java/org/alfresco/web/bean/workflow/WorkflowBean.java +++ b/source/java/org/alfresco/web/bean/workflow/WorkflowBean.java @@ -150,7 +150,7 @@ public class WorkflowBean implements Serializable tx.begin(); // get the current pooled tasks for the current user - List tasks = this.getWorkflowService().getPooledTasks(userName); + List tasks = this.getWorkflowService().getPooledTasks(userName, true); // create a list of transient nodes to represent this.pooledTasks = new ArrayList(tasks.size()); @@ -200,7 +200,7 @@ public class WorkflowBean implements Serializable // get the current in progress tasks for the current user List tasks = this.getWorkflowService().getAssignedTasks( - userName, WorkflowTaskState.IN_PROGRESS); + userName, WorkflowTaskState.IN_PROGRESS, true); // create a list of transient nodes to represent this.tasks = new ArrayList(tasks.size()); @@ -376,54 +376,6 @@ public class WorkflowBean implements Serializable */ protected TransientMapNode createTask(WorkflowTask task) { - // get the type of the task - WorkflowTaskDefinition taskDef = task.definition; - - // create the basic transient node - TransientMapNode node = new TransientMapNode(taskDef.metadata.getName(), - task.title, task.properties); - - // add properties for the other useful metadata - node.getProperties().put(ContentModel.PROP_NAME.toString(), task.title); - node.getProperties().put("type", node.getType().toString()); - node.getProperties().put("id", task.id); - - // add extra properties for completed tasks - if (task.state.equals(WorkflowTaskState.COMPLETED)) - { - // add the outcome label for any completed task - String outcome = null; - String transition = (String)task.properties.get(WorkflowModel.PROP_OUTCOME); - if (transition != null) - { - WorkflowTransition[] transitions = task.definition.node.transitions; - for (WorkflowTransition trans : transitions) - { - if (trans.id.equals(transition)) - { - outcome = trans.title; - break; - } - } - - if(outcome == null) - { - // TODO: is this okay -> no real transitions exist for activiti - outcome = transition; - } - if (outcome != null) - { - node.getProperties().put("outcome", outcome); - } - } - - // add the workflow instance id and name this taks belongs to - node.getProperties().put("workflowInstanceId", task.path.instance.id); - - // add the task itself as a property - node.getProperties().put("workflowTask", task); - } - - return node; + return new WorkflowTaskNode(task); } } diff --git a/source/java/org/alfresco/web/bean/workflow/WorkflowTaskNode.java b/source/java/org/alfresco/web/bean/workflow/WorkflowTaskNode.java new file mode 100644 index 0000000000..19c4d5862e --- /dev/null +++ b/source/java/org/alfresco/web/bean/workflow/WorkflowTaskNode.java @@ -0,0 +1,115 @@ +package org.alfresco.web.bean.workflow; + +import java.util.HashMap; +import java.util.Map; + +import org.alfresco.model.ContentModel; +import org.alfresco.repo.workflow.WorkflowModel; +import org.alfresco.service.cmr.workflow.WorkflowTask; +import org.alfresco.service.cmr.workflow.WorkflowTaskState; +import org.alfresco.service.cmr.workflow.WorkflowTransition; +import org.alfresco.service.namespace.QName; +import org.alfresco.web.bean.repository.Node; +import org.alfresco.web.bean.repository.TransientMapNode; + +/** + * Wrapper around a {@link WorkflowTask} to allow it to be approached as a {@link Node}. + * Can hold additional properties, on top of the properties in the actual {@link WorkflowTask}. + * + * @author Frederik Heremans + */ +public class WorkflowTaskNode extends TransientMapNode { + + private static final long serialVersionUID = 1L; + private Map propertyWrapper; + + private WorkflowTask workflowTask; + + public WorkflowTaskNode(WorkflowTask workflowTask) { + super(workflowTask.getDefinition().getMetadata().getName(), workflowTask.getTitle(), null); + this.workflowTask = workflowTask; + + propertyWrapper = new WorkflowTaskPropertyBackedMap(); + + propertyWrapper.put(ContentModel.PROP_NAME.toString(), workflowTask.getTitle()); + propertyWrapper.put("type", type.toString()); + propertyWrapper.put("id", workflowTask.getId()); + + // add extra properties for completed tasks + if (workflowTask.getState().equals(WorkflowTaskState.COMPLETED)) + { + // add the outcome label for any completed task + String outcome = null; + String transition = (String)workflowTask.getProperties().get(WorkflowModel.PROP_OUTCOME); + if (transition != null) + { + for (WorkflowTransition trans : workflowTask.getDefinition().getNode().getTransitions()) + { + if (trans.getId().equals(transition)) + { + outcome = trans.getTitle(); + break; + } + } + + if(outcome == null) + { + outcome = transition; + } + if (outcome != null) + { + propertyWrapper.put("outcome", outcome); + } + } + + // add the workflow instance id and name this taks belongs to + propertyWrapper.put("workflowInstanceId", workflowTask.getPath().getInstance().getId()); + + // add the task itself as a property + propertyWrapper.put("workflowTask", workflowTask); + } + } + + @Override + public Map getProperties() { + return propertyWrapper; + } + + /** + * Map which can contain local values (added by put and putAll). Get-operation reverts + * to {@link WorkflowTask} properties when not found in the local values. + * + * @author Frederik Heremans + */ + private class WorkflowTaskPropertyBackedMap extends HashMap + { + private static final long serialVersionUID = 1L; + + @Override + public Object get(Object key) { + String fullKey = QName.resolveToQNameString(WorkflowTaskNode.this.getNamespacePrefixResolver(), key.toString()); + Object value = super.get(fullKey); + if(value == null) + { + value = workflowTask.getProperties().get(QName.resolveToQName(WorkflowTaskNode.this.getNamespacePrefixResolver(), fullKey)); + } + return value; + } + + @Override + public boolean containsKey(Object key) { + String fullKey = QName.resolveToQNameString(WorkflowTaskNode.this.getNamespacePrefixResolver(), key.toString()); + boolean contains = super.containsKey(fullKey); + if(!contains) + { + contains = workflowTask.getProperties().containsKey(QName.resolveToQName(WorkflowTaskNode.this.getNamespacePrefixResolver(), fullKey)); + } + return contains; + } + + @Override + public Object put(String key, Object value) { + return super.put(QName.resolveToQNameString(WorkflowTaskNode.this.getNamespacePrefixResolver(), key.toString()), value); + } + } +} diff --git a/source/java/org/alfresco/web/ui/repo/component/UIContentSelector.java b/source/java/org/alfresco/web/ui/repo/component/UIContentSelector.java index 34ec2c61ef..e46a20e9e8 100644 --- a/source/java/org/alfresco/web/ui/repo/component/UIContentSelector.java +++ b/source/java/org/alfresco/web/ui/repo/component/UIContentSelector.java @@ -355,7 +355,7 @@ public class UIContentSelector extends UIInput NamespaceService.CONTENT_MODEL_1_0_URI, "name")); query.append(nameAttr); - query.append(":\"*" + safeContains + "\"*"); + query.append(":\"*" + safeContains + "*\""); } int maxResults = Application.getClientConfig(context).getSelectorsSearchMaxResults(); diff --git a/source/web/WEB-INF/web.xml b/source/web/WEB-INF/web.xml index 9803d79651..a42514cecd 100644 --- a/source/web/WEB-INF/web.xml +++ b/source/web/WEB-INF/web.xml @@ -137,7 +137,17 @@ WebscriptAuthenticationFilter - + + + WebScript Cookie Authentication Filter + Directly handles login script calls, allowing Surf to establish a cookie for a manual login + org.alfresco.repo.web.filter.beans.BeanProxyFilter + + beanName + WebscriptCookieAuthenticationFilter + + + WebDAV Authentication Filter org.alfresco.repo.web.filter.beans.BeanProxyFilter @@ -218,6 +228,17 @@ Global Authentication Filter /d/* + + + + WebScript Cookie Authentication Filter + /wcservice/* + + + + WebScript Cookie Authentication Filter + /wcs/* + @@ -294,7 +315,17 @@ JSF Session Synchronized Filter /faces/* - + + + Global Authentication Filter + /cmisatom/* + + + + Authentication Filter + /cmisatom/* + + CacheExpiresFilter *.jpg diff --git a/source/web/scripts/ajax/dojo/src/widget/DatePicker.js b/source/web/scripts/ajax/dojo/src/widget/DatePicker.js index 3fbd497774..01d8b15c39 100644 --- a/source/web/scripts/ajax/dojo/src/widget/DatePicker.js +++ b/source/web/scripts/ajax/dojo/src/widget/DatePicker.js @@ -6,6 +6,10 @@ modified BSD license. For more information on Dojo licensing, see: http://dojotoolkit.org/community/licensing.shtml + + 2013 - Alfresco Software, Ltd. + Alfresco Software has modified source of this file + The details of changes can be found in svn at location root\projects\web-client\source\web\scripts\ajax\dojo */ dojo.provide("dojo.widget.DatePicker"); @@ -406,7 +410,7 @@ dojo.widget.defineWidget( if(null != event){ event.stopPropagation(); - if((13 == event.keyCode) || (32 == event.keyCode) || ((null != event.charCode) && (32 == event.charCode))){ + if(((null != event.keyCode) && ((13 == event.keyCode) || (32 == event.keyCode))) || ((null != event.charCode) && ((13 == event.charCode) || (32 == event.charCode)))) { this.onIncrementWeek(event); } } @@ -425,7 +429,7 @@ dojo.widget.defineWidget( if(null != event){ event.stopPropagation(); - if((13 == event.keyCode) || (32 == event.keyCode) || ((null != event.charCode) && (32 == event.charCode))){ + if(((null != event.keyCode) && ((13 == event.keyCode) || (32 == event.keyCode))) || ((null != event.charCode) && ((13 == event.charCode) || (32 == event.charCode)))) { this.onIncrementMonth(event); } } @@ -444,7 +448,7 @@ dojo.widget.defineWidget( if(null != event){ event.stopPropagation(); - if((13 == event.keyCode) || (32 == event.keyCode) || ((null != event.charCode) && (32 == event.charCode))){ + if(((null != event.keyCode) && ((13 == event.keyCode) || (32 == event.keyCode))) || ((null != event.charCode) && ((13 == event.charCode) || (32 == event.charCode)))) { this.onIncrementYear(event); } } @@ -523,7 +527,7 @@ dojo.widget.defineWidget( if(null != event){ event.stopPropagation(); - if((13 == event.keyCode) || (32 == event.keyCode) || ((null != event.charCode) && (32 == event.charCode))){ + if(((null != event.keyCode) && ((13 == event.keyCode) || (32 == event.keyCode))) || ((null != event.charCode) && ((13 == event.charCode) || (32 == event.charCode)))) { this._handleUiClick(event); } } diff --git a/source/web/scripts/ajax/dojo/src/widget/TimePicker.js b/source/web/scripts/ajax/dojo/src/widget/TimePicker.js index 2aa82a563e..b5a3066da9 100644 --- a/source/web/scripts/ajax/dojo/src/widget/TimePicker.js +++ b/source/web/scripts/ajax/dojo/src/widget/TimePicker.js @@ -6,6 +6,10 @@ modified BSD license. For more information on Dojo licensing, see: http://dojotoolkit.org/community/licensing.shtml + + 2013 - Alfresco Software, Ltd. + Alfresco Software has modified source of this file + The details of changes can be found in svn at location root\projects\web-client\source\web\scripts\ajax\dojo */ dojo.provide("dojo.widget.TimePicker"); @@ -248,6 +252,22 @@ dojo.widget.defineWidget( this.onSetTime(); }, + handleNewHourSelectedKey: function(event) { + // DOJO accessibility for Alfresco WCM: ALF-11956 + if((null != event) && (((null != event.keyCode) && ((13 == event.keyCode) || (32 == event.keyCode))) || ((null != event.charCode) && ((13 == event.charCode) || (32 == event.charCode))))) { + event.stopPropagation(); + this.onSetSelectedHour(event); + } + }, + + handleNewMinuteSelectedKey: function(event) { + // DOJO accessibility for Alfresco WCM: ALF-11956 + if((null != event) && (((null != event.keyCode) && ((13 == event.keyCode) || (32 == event.keyCode))) || ((null != event.charCode) && ((13 == event.charCode) || (32 == event.charCode))))) { + event.stopPropagation(); + this.onSetSelectedMinute(event); + } + }, + setSelectedMinute: function(evt) { if(evt && evt.target) { if(evt.target.nodeType == dojo.dom.ELEMENT_NODE) { diff --git a/source/web/scripts/ajax/dojo/src/widget/templates/TimePicker.html b/source/web/scripts/ajax/dojo/src/widget/templates/TimePicker.html index 91b1e26b46..6fd80a62ec 100644 --- a/source/web/scripts/ajax/dojo/src/widget/templates/TimePicker.html +++ b/source/web/scripts/ajax/dojo/src/widget/templates/TimePicker.html @@ -13,7 +13,7 @@ + dojoAttachEvent="onClick: onSetSelectedHour; onKey: handleNewHourSelectedKey;"> @@ -44,7 +44,7 @@
12 6 + dojoAttachEvent="onClick: onSetSelectedMinute; onKey: handleNewMinuteSelectedKey;"> diff --git a/source/web/scripts/ajax/xforms.js b/source/web/scripts/ajax/xforms.js index 4cd0f2fdbf..766d8713bc 100644 --- a/source/web/scripts/ajax/xforms.js +++ b/source/web/scripts/ajax/xforms.js @@ -1,5 +1,5 @@ /* - * Copyright (C) 2005-2012 Alfresco Software Limited. + * Copyright (C) 2005-2013 Alfresco Software Limited. * * This file is part of Alfresco * @@ -5418,7 +5418,7 @@ alfresco.xforms.FocusResolver = new Class({ // Ignores the event if focus actually is the same as at previous time or if nothing is focused if ((null == focusedElement) || ((null != resolver._currentElement) && !resolver._forced && ((resolver._currentElement.id == focusedElement.id) || (0 == focusedElement.id.indexOf("undefined"))))) { - if (0 != focusedElement.id.indexOf("undefined")) + if ((null != focusedElement) && (0 != focusedElement.id.indexOf("undefined"))) { resolver._navigationDirection = 0; } @@ -5589,7 +5589,7 @@ alfresco.xforms.FocusResolver = new Class({ findControl: function(element, ignoreTabIndex, dontCareAboutValidity) { - if ((null == element) || (("DIV" == element.tagName) && element.hasClass("xformsItemLabelContainer"))) + if ((null == element) || (("DIV" == element.tagName) && this._hasClass(element, "xformsItemLabelContainer"))) { return null; } @@ -5613,6 +5613,11 @@ alfresco.xforms.FocusResolver = new Class({ return result; }, + _hasClass: function(element, className) + { + return (' ' + element.className + ' ').indexOf(' ' + className + ' ') > -1; + }, + _isElementInTheScope: function(element) { if (null != element)
00 30