Andy's Published Design Patterns

These four papers are substantial works which have been presented at KoalaPlop (Asian Pacific Conference on Pattern Languages of Programs) in both 2000 and 2001.  My shepherds (paper peer reviewers) were:

  • Jim Coplien (MGM pattern)
  • Ali Arsanjani (TI pattern)
  • James Noble (RM pattern).  

These final versions also incorporate comments and reviews from the attendees of KoalaPlop 2000 and 2001.

An unexpected error occurred.

mysql error: [145: Table './andypatterns5/PageSearchIndex' is marked as crashed and should be repaired] in EXECUTE("select p1.cID, pt.ctHandle from Pages p1 left join Pages p2 on (p1.cPointerID = p2.cID) left join PagePaths on (PagePaths.cID = p1.cID and PagePaths.ppIsCanonical = 1) left join PageSearchIndex psi on (psi.cID = if(p2.cID is null, p1.cID, p2.cID)) inner join CollectionVersions cv on (cv.cID = if(p2.cID is null, p1.cID, p2.cID) and cvID = (select cvID from CollectionVersions where cvIsApproved = 1 and cID = cv.cID)) left join PageTypes pt on pt.ctID = cv.ctID inner join Collections c on (c.cID = if(p2.cID is null, p1.cID, p2.cID)) left join CollectionSearchIndexAttributes on (CollectionSearchIndexAttributes.cID = if (p2.cID is null, p1.cID, p2.cID)) where 1=1 and cvName != '' and (ak_exclude_page_list = 0 or ak_exclude_page_list is null) and p1.cParentID = '43' and cvIsApproved = '1' and (p1.cIsTemplate = 0 or p2.cIsTemplate = 0) and ((select count(cID) from PagePermissionAssignments ppa1 inner join PermissionAccessList pa1 on ppa1.paID = pa1.paID where ppa1.cID = if(p2.cID is null, p1.cInheritPermissionsFromCID, p2.cInheritPermissionsFromCID) and pa1.accessType = 10 and pa1.pdID in (0) and pa1.peID in (1) and (if(pa1.peID = 5 and p1.uID <>0, false, true)) and (ppa1.pkID = 1 and cv.cvIsApproved = 1 or ppa1.pkID = 2)) > 0 or (p1.cPointerExternalLink !='' AND p1.cPointerExternalLink IS NOT NULL)) and ((select count(cID) from PagePermissionAssignments ppaExclude inner join PermissionAccessList paExclude on ppaExclude.paID = paExclude.paID where ppaExclude.cID = if(p2.cID is null, p1.cInheritPermissionsFromCID, p2.cInheritPermissionsFromCID) and accessType = -1 and pdID in (0) and paExclude.peID in (1) and (if(paExclude.peID = 5 and p1.uID <>0, false, true)) and (ppaExclude.pkID = 1 and cv.cvIsApproved = 1 or ppaExclude.pkID = 2)) = 0) and p1.cIsActive = '1' order by p1.cDisplayOrder asc ")

< Back to Home