Tag Cloud

Blogumulus by Roy Tanck and Amanda Fazani

Update: Improved Widget Code



I have updated the code required to run this widget to activate links in the tag cloud Flash movie. If you have already installed Blogumus, please replace your widget code with the new updated code, or reference the additional lines to modify your existing installation.

How it works

This widget uses a combination of JavaScript and Flash animation to parse and display your blog labels. Once installed in your template, it should work "out of the box" without any additional tweaking required, though of course you may prefer to change the variables for color, background and size if appropriate :)

You should also be able to move the Label Cloud widget through the Page Elements page of your dashboard if you prefer display in a different layout location.

To see Blogumus in action, both Flash and Javascript must be installed and enabled for your internet browser. However, it does degrade relatively gracefully, and label links will still be clickable (though not animated) for those who do not use JavaScript of Flash (including search engine spiders).

How to install Blogumus in your Blogger layout



Installing Blogumus in your Blogger layout is surprisingly simple! You should only need to copy and paste a section of code to your Blogger template, though any tweaks for the style of display will require some manual editing.

Here are the steps required to install Blogumus in your Blogger layout:

Go to Layout>Edit HTML in your Blogger dashboard, and search for the following line (or similar):

<b:section class='sidebar' id='sidebar' preferred='yes'>
Immediatly after this line, paste the following section of code:



<b:widget id='Label99' locked='false' title='Labels' type='Label'>
<b:includable id='main'>
<b:if cond='data:title'>
<h2><data:title/></h2>
</b:if>
<div class='widget-content'>
<script src='http://halotemplates.s3.amazonaws.com/wp-cumulus-example/swfobject.js' type='text/javascript'/>
<div id='flashcontent'>Blogumulus by <a href='http://www.roytanck.com/'>Roy Tanck</a> and <a href='http://www.bloggerbuster.com'>Amanda Fazani</a></div>
<script type='text/javascript'>
var so = new SWFObject("http://halotemplates.s3.amazonaws.com/wp-cumulus-example/tagcloud.swf", "tagcloud", "240", "300", "7", "#ffffff");

// uncomment next line to enable transparency
//so.addParam("wmode", "transparent");
so.addVariable("tcolor", "0x333333");
so.addVariable("mode", "tags");
so.addVariable("distr", "true");
so.addVariable("tspeed", "100");
so.addVariable("tagcloud", "<tags><b:loop values='data:labels' var='label'><a expr:href='data:label.url' style='12'><data:label.name/></a></b:loop></tags>");
so.addParam("allowScriptAccess", "always");
so.write("flashcontent");
</script>
<b:include name='quickedit'/>
</div>
</b:includable>
</b:widget>


Then preview your template. If installed correctly, you should see the tag cloud appear in your sidebar. Then you are free to save your template, edit the colors and dimensions as required, or move it to a different location.



That's all!

Customizing Blogumus

In this default installation, Blogumus includes the following preset variables:

  • Width is set to 240px
  • Height is set to 300px;
  • Background color is white
  • Test color is grey
  • Font size is "12"
If you would prefer to make your widget wider, shorter, change the color scheme, etc, you will need to do this by editing various parts of the code. I'll go through these options in the order they appear in the widget code.

Editing width and height

The variables for width and height are found in this line of the script:

var so = new SWFObject("http://halotemplates.s3.amazonaws.com/wp-cumulus-example/tagcloud.swf", "tagcloud", "style="color: red;">240", "style="color: blue;">300", "7", "#ffffff");


The width (currently 240) is highlighted in red, while the height (300px default) is highlighted in blue. These numerical values specify the width and height in pixels, so you can alter these of you prefer.

Editing background color

You can change the background color from white to any other color by altering the hex value in the same line:

var so = new SWFObject("http://halotemplates.s3.amazonaws.com/wp-cumulus-example/tagcloud.swf", "tagcloud", "240", "300", "7", "style="color: red;">#ffffff");
For example, if you prefer a bright red background, you may replace #ffffff with #ff0000. Take a look at this page for a list of commonly used hex color codes.

Alter the color of text

By default, the text is set to display as dark grey ( hex value #333333). You can alter this variable in the following line:

so.addVariable("tcolor", "0xstyle="color: red;">333333");


Be aware that "tcolor" is a Flash variable and doesn't include the usual hash symbol of hex color codes. Be sure to only replace the numbers!

Adjust the font size

The maximum font size of tags is specified in this line:

so.addVariable("tagcloud", "<tags><b:loop values='data:labels' var='label'><a expr:href='data:label.url' style='style="color: red;">12'><data:label.name/></a></b:loop></tags>");
You can alter this to ensure tags are displayed in a bigger or smaller font if you prefer by changing "12" to a larger or smaller number.

While making any of these changes, you should be able to preview your widget and be certain that your new choice of color, dimensions and background are suitable for your needs.

WIPI is a middleware platform used in South Korea that allows mobile phones, regardless of manufacturer or carrier, to run applications. Much of WIPI is based on Java, but it also includes the ability to download and run compiled binary applications as well.

The specification was created by the Mobile Platform Special Subcommittee of the Korea Wireless Internet Standardization Forum (KWISF). The South Korean government had enforced that all cellular phones sold in that country include the WIPI platform to avoid inordinate competition between mobile companies, but the policy is withdrawn from April 2009


Wi-Fi is a trademark of the Wi-Fi Alliance that may be used with certified products that belong to a class of wireless local area network (WLAN) devices based on the IEEE 802.11 standards. Because of the close relationship with its underlying standard, the term Wi-Fi is often used as a synonym for IEEE 802.11 technology.

excerpted from wikipedia

1 장례식장 서비스 인증 도입 2009
2 전국 지자체간 교통카드 호환 사용을 위한 표준화 2009
3 취업지원자의 편의증진을 위한 표준 이력서 개발 2009
4 건축물 클리닝 서비스 인증 도입 2009
5 맑은 수도물 공급을 위한 수도꼭지, 금속관 등의 수도용 제품 안전성 강화 2009
6 모바일 정보기기(휴대폰, PMP등) 문자입력방식 표준화 2010
7 진공청소기 먼지봉투의 표준화 2010
8 가전제품 공용 리모콘 표준 개발 2010
9 차량 운행정보 기록을 위한 블랙박스 표준화 2010
10 결혼식장 서비스 인증 도입 2010
11 차량수리센터 서비스 인증 도입 2010
12 소비자의 선택을 돕기 위한 고추장 매운맛 등급 표준화 2010
13 조립식 온수온돌 판넬제품 평가방법 표준화 2010
14 RFID기반 공용자전거 통합관리(대여·반납)시스템 표준화 2010
15 가전제품(TV,PC 등)의 무선통신 시스템 표준화 2010
16 모바일 USIM기반의 금융거래 보안 표준화 2010
17 건축용 샌드위치패널 화재 안전성 기준 강화  2010
18 건축물 구조 안전성 확보를 위한 레미콘 품질기준 강화  2010
19 경운기 브레이크등(燈) 표준화 2010
20 녹색 생활체육공간을 위한 인조잔디 표준화 2010
21 휴대용 멀티미디어기기 직류전원장치 표준화 2010
22 휴대폰용 배터리 표준화 2010
23 노트북 전원 어댑터 국제표준화 2011
24 김치냉장고 저장용기의 표준화 2011
25 엘리베이터 버튼위치 표준화 2011
26 공동주택 층간소음 완충재 성능 측정방법 표준화 2011
27 병원간 검사결과(X-ray,CT,초음파 등) 공동 활용을 위한 표준화 2011
28 "빨주노초파남보”알기 쉬운 색채표준 활용 확산 2011
29 의료 시험분석기관의 적합성평가체계 표준화 2011
30 고령자 및 장애인용 생활제품의 표준 개발 2011
31 사회적 배려계층의 안전과 편의를 위한 공공 그림표지 표준 확산 2011
32 차량내장재의 휘발성 유해물질 저감을 위한 표준화 2011
33 한방용 뜸 표준화 2011
34 요식업에서 사용하는 1인분 표준화 2011
35 전기자동차 충전시스템 표준화 2011
36 스마트그리드 기반 실시간 전기요금 관리체계 표준화 2011
37 전기자동차용 배터리 성능 및 안전성 평가방법 표준화 2011
38 서비스용 로봇 성능기준 표준화 2011
39 공기청정기 필터의 표준화 2012
40 최신 한국인 인체정보 확산적용을 위한 제품표준 정비 2012
41 노인요양시설 서비스 표준화 및 인증 도입 2012
42 산후조리원 서비스 인증 도입 2012
43 홍수, 테러 등의 재난대응 시스템 표준화 2012
44 범죄예방을 위해 공원 등 도시설계 표준 개발 2012
45 휴대용 심혈관질환 자가 진단용 바이오센서 표준화 2012
46 방범자재 성능기준 표준화 2012
47 도로교통 시설의 안전ㆍ편의성 향상을 위한 표준화 2012
48 고령자 및 장애인의 기기 활용 편리성 향상 표준화 2012
49 플러그인 하이브리드 전기자동차(PHEV) 연비측정 방법 표준화 2012
50 세제 적정량 사용을 위한 표준 개발 2012

excerpted from 지식경제부 기술표준원

표준기술 - J2EE(Enterprise Edition), J2SE(Standard Edition), J2ME(Micro Edition), 기타 java, javax package
준표준기술 - Library(functional), Framework(architectural)

Layered Architecture Style
1. Presentation Layer
- 표준 : JSP/Servlet
- 준표준 : MVC Framework (Struts + Webwork -> Struts2, Spring MVC)
2. Business Layer
- 표준 : EJB
- 준표준 : Container Framework (Spring Framework)
3. Data Persistence
- 표준 : JDBC
- 준표준 : Data Mapping Framework(iBatis),OR Mapping Framework(Hibernate)

Enterprise System
- 다수의 Request 발생 -> User 증가 -> web(JSP/Servlet)
- 다수의 Transaction 처리 -> Distribute 환경 -> EJB


Servlet/JSP 주요 객체

Class Name
추상화 대상
획득방법
생성/소멸 시점
데이터 공유
HttpServletRequest
client 요청 data service method의 argument 요청 시 생성 응답 시 소멸 하나의 요청이 끝날 때까지 공유
HttpServletReponse
client 응답 data
-
ServletConfig
web.xml의 Init Parameter data (runtime 시 변경되지 않으며 유지보수 시 사용하기 위한 환경설정 getServletConfig() Servlet과 동일
-
ServletContext
Web App 대표 getServletContext() Server 시작/종료 시 생성/소멸 모든 사용자의 모든 요청 시 공유
Cookie
client side 상태 정보값 new Cookie
-
-
HttpSession
server side 상태 정보값 request.getSession() 프로그램에서 제어 현 사용자의 모든 요청 시 공유
RequestDispatcher
다른 JSP/Servlet 실행 목적 context.getRequestDispatcher
-
-

Tools
Ant : XML 형식의 빌드 파일을 이용하여 Source Code 입력 이외 모든 것 자동화
Junit : 자동화된 단위 테스트 구현
Log4j : XML 또는 properties 로그 정책 명시

Custom Tag (Tag Library)
1. Script Tag : <%--, <%, <%=, <%!, <%@
2. Action Tag : <jsp:useBean [ getProperty | setProperty | forward | include...]
3. Custom Tag : 개발자들이 직접 Action tag를 정의, 여러 JSP에서 반복되는 긴 자바코드 or HTML을 Tag로 대체

Tag Comparison
1. <%@ include file="b.jsp" %> : static include (compile 단계), dynamic include에 비해 성능이 아주 약간 더 빠름
2. <jsp:incude page="b.jsp" /> : dynamic include, 변경 시 유지보수 용이, 동일 Web Application 내의 file만 참조 가능 ( ServletContext - RequestDispatcher 이용)
3. <c:import url="b.jsp" /> : dynamic include, 모든 서버 내 file 참조 가능 (Network Program으로 변경)

page redirection
forward 방식 : ServletContext - RequestDispatcher - forward, url 변경이 없으며 새로고침 시 본래 페이지로 이동, 이전 상태 데이터 획득을 위해 Request 객체에 의해 데이터 공유 가능
redirect 방식 : HttpServletResponse - sendRedirect, 브라우저가 현재 페이지의 응답을 client측에 전달하고 다른 페이지로 이동, url 주소 변경 및 새로고침 시 이동한 페이지를 다시 로딩, 이전 상태 데이터 획득을 위해 request객체 대신 Cookie 또는 Session 이용해야 함