docs/_static/user-group-role-permission.svg

Summary

Maintainability
Test Coverage
<?xml version="1.0"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xl="http://www.w3.org/1999/xlink" version="1.1" viewBox="40 -2 542 264" width="542pt" height="22pc"><metadata xmlns:dc="http://purl.org/dc/elements/1.1/"><dc:date>2012-11-22 09:05Z</dc:date><!-- Produced by OmniGraffle Professional 5.2.1 --></metadata><defs><filter id="Shadow" filterUnits="userSpaceOnUse"><feGaussianBlur in="SourceAlpha" result="blur" stdDeviation="3.488"/><feOffset in="blur" result="offset" dx="0" dy="4"/><feFlood flood-color="black" flood-opacity=".75" result="flood"/><feComposite in="flood" in2="offset" operator="in"/></filter><font-face font-family="Helvetica" font-size="12" units-per-em="1000" underline-position="-75.683594" underline-thickness="49.316406" slope="0" x-height="522.94922" cap-height="717.28516" ascent="770.01953" descent="-229.98047" font-weight="500"><font-face-src><font-face-name name="Helvetica"/></font-face-src></font-face><marker orient="auto" overflow="visible" markerUnits="strokeWidth" id="FilledArrow_Marker" viewBox="-1 -4 10 8" markerWidth="10" markerHeight="8" color="black"><g><path d="M 8 0 L 0 -3 L 0 3 Z" fill="currentColor" stroke="currentColor" stroke-width="1"/></g></marker></defs><g stroke="none" stroke-opacity="1" stroke-dasharray="none" fill="none" fill-opacity="1"><title>Canvas 1</title><rect fill="white" width="806" height="536"/><g><title>Layer 1</title><g><use xl:href="#id1_Graphic" filter="url(#Shadow)"/><use xl:href="#id3_Graphic" filter="url(#Shadow)"/><use xl:href="#id4_Graphic" filter="url(#Shadow)"/><use xl:href="#id5_Graphic" filter="url(#Shadow)"/></g><g id="id1_Graphic"><rect x="467.89062" y="86.921875" width="102.890625" height="54" fill="white"/><rect x="467.89062" y="86.921875" width="102.890625" height="54" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><text transform="translate(472.89062 106.921875)" fill="black"><tspan font-family="Helvetica" font-size="12" font-weight="500" fill="black" x="16.770508" y="11" textLength="59.34961">Permission</tspan></text></g><g id="id3_Graphic"><rect x="284" y="86.921875" width="102.890625" height="54" fill="white"/><rect x="284" y="86.921875" width="102.890625" height="54" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><text transform="translate(289 106.921875)" fill="black"><tspan font-family="Helvetica" font-size="12" font-weight="500" x="34.105465" y="11" textLength="24.679688">Role</tspan></text></g><g id="id4_Graphic"><rect x="100.109375" y="5.921875" width="102.890625" height="54" fill="white"/><rect x="100.109375" y="5.921875" width="102.890625" height="54" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><text transform="translate(105.109375 25.921875)" fill="black"><tspan font-family="Helvetica" font-size="12" font-weight="500" x="33.77734" y="11" textLength="25.335938">User</tspan></text></g><g id="id5_Graphic"><rect x="100.109375" y="167.92188" width="102.890625" height="54" fill="white"/><rect x="100.109375" y="167.92188" width="102.890625" height="54" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><text transform="translate(105.109375 187.92188)" fill="black"><tspan font-family="Helvetica" font-size="12" font-weight="500" x="29.769527" y="11" textLength="33.351562">Group</tspan></text></g><line x1="151.55469" y1="59.921875" x2="151.55469" y2="158.02185" marker-end="url(#FilledArrow_Marker)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><path d="M 203 32.921875 L 334.85547 32.921875 L 335.33719 77.02246" marker-end="url(#FilledArrow_Marker)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><path d="M 203 194.92188 L 335.83594 194.92188 L 335.51694 150.821625" marker-end="url(#FilledArrow_Marker)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><line x1="386.89062" y1="113.921875" x2="457.99063" y2="113.921875" marker-end="url(#FilledArrow_Marker)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><path d="M 151.55469 221.92188 L 151.55469 249.02734 L 58.82422 249.30469 L 58.21875 194.94922 L 90.20938 194.92834" marker-end="url(#FilledArrow_Marker)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><rect x="117.55469" y="106.359375" width="68" height="24" fill="white"/><text transform="translate(122.55469 111.359375)" fill="black"><tspan font-family="Helvetica" font-size="12" font-weight="500" fill="black" x=".32421875" y="11" textLength="57.351562">member of</tspan></text><rect x="40.243767" y="237.25858" width="68" height="24" fill="white"/><text transform="translate(45.243767 242.25858)" fill="black"><tspan font-family="Helvetica" font-size="12" font-weight="500" fill="black" x=".32421875" y="11" textLength="57.351562">member of</tspan></text><rect x="223.52298" y="182.92188" width="93" height="24" fill="white"/><text transform="translate(228.52298 187.92188)" fill="black"><tspan font-family="Helvetica" font-size="12" font-weight="500" fill="black" x=".4814453" y="11" textLength="82.03711">has (in context)</tspan></text><rect x="221.44284" y="20.921875" width="93" height="24" fill="white"/><text transform="translate(226.44284 25.921875)" fill="black"><tspan font-family="Helvetica" font-size="12" font-weight="500" fill="black" x=".4814453" y="11" textLength="82.03711">has (in context)</tspan></text><rect x="399.91797" y="101.921875" width="55" height="24" fill="white"/><text transform="translate(404.91797 106.921875)" fill="black"><tspan font-family="Helvetica" font-size="12" font-weight="500" fill="black" x=".15234375" y="11" textLength="44.695312">contains</tspan></text></g></g></svg>