bizXpress(CMS)_삼성선물 납품

안녕하세요.

사이버이메지네이션이 수주한 삼성선물 ‘홈페이지 재구축’ 프로젝트에 대해 설명 드리겠습니다.

 

해당 프로젝트는 사이버이메지네이션의 CMS 솔루션인 bizXpress를 적용하여 컨텐츠 관리 기능을 개선하고,

모바일 홈페이지 위주의 OSMU(One Source Multi Use) 홈페이지 구축, 실시간 시황 서비스를 개발하게 됩니다. 

 

- 기간: 2020년 3월 ~ 7월

- 개발방향

   (1) 반응형 웹페이지 구축

   (2) CMS 적용 컨텐츠 관리기능 개선

   (3) 홈페이지 통계수집 로그분석

   

프로젝트가 완료 되는대로 다시 안내 드리겠습니다.

감사합니다.

 

 

bizXress 레퍼런스 보러가기

 

 

http://solution.cyber-i.com/

 

New Multi-Channel Dynamic CMS

콘텐츠 관리 만족하세요? (2편)

콘텐츠 관리의 필요성은 1편에서 설명 드렸으므로 각설하고, 전편에 이어 CMS에 필요한 주요 기능에 대해 설명 드리겠습니다.

1편 내용이 궁금하시면~

웹콘텐츠를 다루는 상품 및 마케팅부서 담당자들과 대화를 나누다 보면 수시로 쏟아져 나오는 상품, 광고물, 이벤트 콘텐츠로 몸살을 앓을 정도 인데, 여러 부서에서 쏟아내는 콘텐츠를 IT부서 한곳에서 처리하고 있으니 병목현상 때문에 간단한 수정작업도 완료 일정을 맞추기 어려울때가 빈번하다고 하소연 하곤 합니다. 웹콘텐츠 변경 발행 작업이 워드 문서 작업처럼 쉬우면 내가 처리할 수 있을텐데... 라고 한번쯤은 생각해 보셨을 것입니다. CMS 도입으로 웹 문서 작성이 쉬워진다면 얼마나 편리해질까요?

bizXpress_웹문서편집

 

(기존 작업방식 VS bizXpress 도입 후 작업방식 비교도)

 

신규 상품 론칭을 위해 여러 부서가 협업할때, 업무별 카테고리 설정이 되지 않아 여러부서에서 작성한 문서가 뒤죽박죽 되거나, 접근 권한이 없는 직원에게 문서가 오픈되어 보안상의 심각한 문제가 발생되거나, 저작물(동영상, 이미지, 디자인 파일 등)이 제대로 관리되지 않아 필요할 때 사용하지 못했던 적 없으신가요? 이런 일들은 어느 회사에서나 빈번하게 발생되는 문서관리 체계의 비효율화 때문인데요. CMS 도입으로 이런 문제들을 해결할 수 있습니다.

bizXpress_ 체계적인 문서관리

 

콘텐츠를 다룰 때 필요한 CMS의 주요 기능들을 2편에 걸쳐 살펴보았는데요. 기능에 대한 정보는 드렸지만 실제상황에서 어떻게 적용되는지 '콘텐츠 담당자들의 겪는 몇가지 애로사항'들을 토대로 CMS 도입이 필요한 이유를 설명드리며 마무리 짓겠습니다.

 Mission

bizXpress 도입 

 시급을 다투는 고객 안내용 콘텐츠를

 확정일자에 웹에 게시할 것

 템플릿을 활용하여 작성한 웹콘텐츠를 사전 승인받아,

 별도의 디자인 및 코딩 작업없이 발표일 오전에 웹에 발행했다.

 상품 정보가 변경되었으니, 해당 정보와

 연결된 웹콘텐츠 테이블 내용을 변경할 것

웹에 게시된 콘텐츠를 불러와 테이블의 데이터 변경 후

 PC/모바일 미리보기 화면으로 콘텐츠 상태 확인 후 동시 발행했다.

 수시 변동 콘텐츠에 동적 데이터 활용 및

 차트 & 그리드를 사용할 것

 동적 데이터 삽입 및 연계가 수월하여 콘텐츠에 유연하게

 반영할 수 있으며, 정합성이 높아졌다.

 또한 문서 작업시에 차트, 그리드를 바로 삽입할 수 있어 편리해졌다.  

 모바일로 상품정보 검색시 PC와 동일 수준으로

 가독성을 높일 것

 반응형 웹편집을 통해 멀티 디바이스에 최적화되어,

 모바일에서도 PC처럼 검색이 수월해진다.  

신규 이벤트 론칭 후 해당 내용의 콘텐츠를

 관리 채널에 모두 게재할 것

 새로운 이벤트관련 웹콘텐츠 작업 완료 후, 미리 설정해 둔

 각종 채널 서버를 통해 WEb, SNS, 제휴처 사이트에 동시 발행했다.

 또한 PDF 문서로도 변환되어 인쇄물도 배포할 수 있게 되었다.  

 

콘텐츠 생성이 많고, 운영중인 채널이 많은 기업에서는 더늦기 전에 CMS를 도입하여 웹콘텐츠를 체계적으로 관리해야 하겠습니다.

보다 자세한 bizXpress(CMS)의 기능 및 다른 제품과 비교정보가 궁금하시면, 제품문서를 다운로드 하세요~

제품문서 보러 가기

 

 

 

New Multi-Channel Dynamic CMS

콘텐츠 관리 만족하세요? (1편)

우리는 콘텐츠의 홍수 속에 살고 있습니다.

텍스트, 영상, 음향 등이 믹스된 수많은 콘텐츠 속에서 나의 의지와 무관하게 많은 정보를 접하며 살아가고 있는데요. 다양한 형태의 콘텐츠는 곧 기업의 자산이므로 콘텐츠를 어떻게 잘 활용하고 관리하느냐가 기업의 성패를 결정짓는다 해도 과언이 아닐 것입니다.

 

기업들은 콘텐츠 관리를 위해 CMS(Content Management System) 도입을 검토하고 있는데, CMS를 도입하는 이유는 다양한 형태의 콘텐츠를 체계적으로 관리해 콘텐츠의 라이프사이클을 관리하고,  콘텐츠 작업 프로세스를 단축하는 등 업무의 효율성과 생산성을 향상시키기 위함이며, 시의적절한 컨텐츠 제공, 사용자의 편의성이 고려된 멀티채널 최적화 서비스를 통해 고객의 만족도를 향상시키기 위함입니다.

 

bizXpress _소개

 

CMS는 웹환경에서 많이 이용되어 왔는데, 디바이스의 발달과 함께 다양한 디바이스, SNS 채널 등 고객과 접촉이 일어나는 모든 채널로 활용이 확장되고 있습니다. '2017년 인터넷이용실태조사'에 따르면 인터넷 접속기기에서 스마트폰 94.1%, 데스크탑 61.2%로 스마트폰이 데스크탑을 이미 역전한 상황입니다. 스마트폰은 메인 채널로 부각되고 있지만, 향후 유일한 채널이 될 가능성을 배제할 수 없을 만큼 파급력이 큰 디바이스 이므로 CMS의 모바일 최적화는 필요가 아닌 필수 기능이라 할 수 있겠습니다.

 

bizXpress_모바일 웹편집

 

(출처: 2017년 인터넷이용실태조사)

 

더불어 금융사 및 데이터관련 업종에서는 웹문서에 테이블, 차트 등을 활용하여 제공 문서의 전문성을 높이곤 합니다.

시각화에 민감한 세대에게 어필하는 컨텐츠를 위해 데이터의 시각화는 필수겠죠?

그런데 기존 CMS들이 동적데이터 연동 및 데이터의 시각화 표현에 미흡하다는 평가를 접하곤 합니다.

그러므로 데이터 활용이 많은 업체에서는 CMS 제품 선택 시 동적데이터 연계 수준도 꼼꼼하게 체크해 보고 결정할 것을 권장 드립니다.

 

bizXpress_동적데이터 활용

 

오늘은 컨텐츠 관리에 필요한 CMS의 주요 기능에 대해 알아보았는데요, 다음편에 이어서 추가 설명 드리겠습니다.

 

 

 

 

New Multi-Channel Dynamic CMS

thymeleaf (server-side template engine) 사용법 정리 - 2

 

 

 


지역변수 (Local Variables)

Thymeleaf에서 지역변수의 범위는 변수가 정의된 DOM을 포함한 하위의 DOM까지를 포함합니다.

예를들면 다음과 같습니다.

1
2
3
4
5
<tr th:each="prod : ${prods}">
        <td th:text="${prod.name}">Onions</td>
        <td th:text="${prod.price}">2.41</td>
</tr>
cs

위 fragment는 each 속성을 통한 반복구문인데 여기에 사용된 prod<tr>를 포함하여 그 하위의 태그에서만 사용이 가능합니다.

위와 같이 반복문 이외에도 th:with속성을 이용하여 지역변수를 사용할수 있는데 구문은 다음과 같습니다.

1
2
3
4
5
6
<div th:with="firstPer=${persons[0]},secondPer=${{persons[1]}">
  <p>
    The name of the first person is <span th:text="${firstPer.name}">Tom</span>.
    The name of the second person is <span th:text="${secondPer.name}">Jeny</span>.
  </p>
</div>
cs

 

,를 구분자로 여러개의 지역변수를 선언할수 있고 다음과 같이 동일한 속성에 정의된 변수의 재사용이 가능합니다.

1
<div th:with="company=${user.company + ' Co.'},account=${accounts[company]}">...</div>
cs
 

또한 아래와 같이 th:with는 우선순위가 비교적 높기때문에 하나의 태그의 다양한 속성내에서 사용이 가능합니다.

1
2
3
4
5
<p>
  Today is: 
  <span th:with="df=#{date.format}" 
        th:text="${#calendars.format(today,df)}">13 February 2011</span>
</p>
cs

 

df 라는 변수를 정의하고 th:text에서 df 변수의 사용이 가능합니다. 여기에서 날짜데이터를 바인드 시키기위해 span태그가 사용이 되었는데 span태그가 불필요 하다면 span 대신 th:block을 사용하면 됩니다.

 

속성 우선순위

Thymeleaf 속성들의 우선순위는 다음 표와 같습니다.

Order Feature Attributes
1 Fragment inclusion th:include
th:replace
2 Fragment iteration th:each
3 Conditional evaluation th:if
th:unless
th:switch
th:case
4 Local variable definition th:object
th:with
5 General attribute modification th:attr
th:attrprepend
th:attrappend
6 Specific attribute modification th:value
th:href
th:src
...
7 Text (tag body modification) th:text
th:utext
8 Fragment specification th:fragment
9 Fragment removal th:remove

 

태그내의 정의된 속성의 순서와 별개로 위와같은 순서대로 속성이 적용 되므로 다음과 같이 표현을 해도 무방합니다. 다만 읽기는 힘들겠죠?

1
2
3
<ul>
  <li th:text="${item.description}" th:each="item : ${items}">Item description here...</li>
</ul>
cs

 

 

주석 & 블록

HTML과 XML에서 사용되는 표준 주석구문인 <!-- ... --> 은 thymeleaf 에서 별도로 처리하지 않고 그대로 표현합니다.

하지만 thymeleaf에서만 처리되는 특수한 주석이 2종류가 더 있는데요. 첫번째는 Parser-level 주석입니다.

1. Thymelef parser-level comments blocks

Parser-level주석은 정적인 페이지에서는 주석으로 남겨져있다가 thymeleaf 처리가 될때 제거되는 주석입니다.

1
2
<!--/* This code will be removed at thymeleaf parsing time! */-->
 
cs

<!--/*  와 */--> 사이의 내용은 thymeleaf 처리후 제거가 되므로 불필요한 주석을 클라이언트에 노출시키지 않게 처리가 가능합니다.

이뿐만 아니라 다음과 같이 사용하면 정적인 페이지에서 DOM을 표현했다가 thymeleaf 처리후 제거가 되도록 표현이 가능합니다.

1
2
3
4
5
<!--/*--> 
  <div>
     you can see me only before thymeleaf processes me!
  </div>
<!--*/-->
cs
1
2
3
4
5
6
7
8
9
10
11
12
13
<table>
   <tr th:each="x : ${xs}">
     ...
   </tr>
   <!--/*-->
   <tr>
     ...
   </tr>
   <tr>
     ...
   </tr>
   <!--*/-->
</table>
cs

1편에서 소개해드린 th:remove 속성과 비슷한 용도로 사용이 가능하겠네요.

 

2. Thymelef prototype-only comment blocks

그다음 특수 주석은 Parser-level 주석과 약간 반대되는 개념의 주석인데요. 정적페이지에서 주석으로 처리가 되고 thymeleaf처리후 나타나게 되는 주석입니다.

1
2
3
4
5
6
7
<span>hello!</span>
<!--/*/
  <div th:text="${...}">
    ...
  </div>
/*/-->
<span>goodbye!</span>
cs

위와 같이 <!--/*/ ... /*/--> 표현을 하게 되면 정적 페이지에선 Hello! goodbye! 만 보여지게 되지만 thymeleaf처리가 되면

1
2
3
4
5
6
7
<span>hello!</span>
 
  <div th:text="${...}">
    ...
  </div>
 
<span>goodbye!</span>
cs

위와 같이 처리가 되어 Hello! 와 goodbye! 사이에 별도의 서버사이드 처리가 가능하게 됩니다.

 

3. Synthetic th:block tag

th:block은 thymeleaf에 기본적으로 포함된 Standard Dialects 입니다.

간단히 설명하자면 th:block은 thymeleaf가 처리가 되면 자신에 포함된 속성을 처리하고 사라지게 됩니다.

다음과 같이 같은 레벨인 DOM을 여러개 반복시킬때 유용합니다.

1
2
3
4
5
6
7
8
9
10
11
<table>
  <th:block th:each="user : ${users}">
    <tr>
        <td th:text="${user.login}">...</td>
        <td th:text="${user.name}">...</td>
    </tr>
    <tr>
        <td colspan="2" th:text="${user.address}">...</td>
    </tr>
  </th:block>
</table>
cs

위의 예시에서는 2개의 tr 태그가 반복되면서 생성이 되겠죠?

th:block prototye-only 주석과 함께 사용될때 특히 유용한데요.

1
2
3
4
5
6
7
8
9
10
11
<table>
    <!--/*/ <th:block th:each="user : ${users}"> /*/-->
    <tr>
        <td th:text="${user.login}">...</td>
        <td th:text="${user.name}">...</td>
    </tr>
    <tr>
        <td colspan="2" th:text="${user.address}">...</td>
    </tr>
    <!--/*/ </th:block> /*/-->
</table>
cs

위의 예시처럼 prototype-only 주석과 함께 사용하게 되면 정적인 페이지에선 2개의 tr만 보였다가 thymeleaf 처리가 되면 1번째 예시처럼 반복 처리가 됩니다.

 

Inlining

1. Text inlining

th:text 속성을 사용하여 대부분의 문자 처리가 가능하지만 HTML에 직접 표현할 수 있습니다. 예를 들면 다음과 같은 표현식인데요.

1
<p>Hello, [[${session.user.name}]]!</p>
cs

다음과 같은 표현을 대신 할수 있습니다

1
<p>Hello, <span th:text="${session.user.name}">Sebastian</span>!</p>
cs

이렇게  [[  ....  ]] 문법을 사용하기 위해서는 th:inline 속성이 필요합니다. 실제로는 다음과 같이 사용을 해야합니다. inline모드는 text 모드와 javascript 모드가 있습니다. 지금은 text inline 이 필요 하므로 th:inline="text" 값으로 정의 하겠습니다.

1
<p th:inline="text">Hello, [[${session.user.name}]]!</p>
cs

위와 같이 모든 태그에 th:inline 속성을 표시할 필요는 없고 다음과 같이

1
2
3
4
5
6
7
8
9
<body th:inline="text">
 
   ...
 
   <p>Hello, [[${session.user.name}]]!</p>
 
   ...
 
</body>
cs

상위 태그에 th:inline속성을 정의하면 모든 하위 노드에서 inline 문법을 사용할 수 있습니다.

이렇게 간편하게 th:text 속성 없이 텍스트 값을 바인딩 할수가 있는데요. 하지만 이렇게 사용하게 되면 정적 페이지 에서는 inline 표현식이 그대로 나타나게 되므로 더이상 프로토타입 페이지로 사용하기 어려울수 있습니다.

 

2. Script inlining (Javascript and Dart)

스크립트 inline 기능은 javascript 과 Dart를 지원합니다.

1
2
3
4
5
6
7
8
9
<script th:inline="javascript">
/*<![CDATA[*/
    ...
 
    var username = [[${session.user.name}]];
 
    ...
/*]]>*/
</script>
cs

위와 같이 script태그에 th:inline="javascript" 속성을 정의하면 그 안에 포함된 스크립트 에서는 [[ .. ]] 표현식으로 서버 데이터를 스크립트영역에 표현할 수 있습니다.

하지만 여기서 문제가 있습니다. 정적인 페이지로 열었을때 스크립트 영역의 [[ .. ]] 표현식은 문법 오류로 인식하게 되어 프로토타입 페이지로는 사용이 어려워 집니다.

 

이런 문제는 다음과 같이 /*[[ ... ]]*/ 표현식을 사용하게 되면 해결할수 있습니다.

1
2
3
4
5
6
7
8
9
<script th:inline="javascript">
/*<![CDATA[*/
    ...
 
    var username = /*[[${session.user.name}]]*/ 'Sebastian';
 
    ...
/*]]>*/
</script>
cs

 

 

위와 같이 표현하게 되면 정적 페이지에서는 /*[[${session.user.name}]]*/  부분이 주석처리 되어 username 변수의 값이  'Sebastian' 값으로 정의가 됩니다.

하지만 thymeleaf 처리가 되면 /*[[ .. ]]*/ 구문에 포함된 표현식을 실행하게 되고 그뒤에 있는 모든 코드는 제거 되어 실제 사용자의 이름을 가져올수 있습니다.

이렇게 문자열값 뿐만 아니라 다음과 같이 다양한 형식의 값을 표현할 수 있습니다.

  • Strings
  • Numbers
  • Booleans
  • Arrays
  • Collections
  • Maps
  • Beans (objects with getter and setter methods)

 

다음과 같이 Map 타입의 서버 변수를 표현하게 되면 javascript object형식으로 자동으로 변한해서 나타냅니다.

1
2
3
4
5
6
7
8
9
<script th:inline="javascript">
/*<![CDATA[*/
    ...
 
    var user = /*[[${session.user}]]*/ null;
 
    ...
/*]]>*/
</script>
cs

위의 표현식을 thymeleaf처리하게 되면 다음과 같이 표현됩니다.

1
2
3
4
5
6
7
8
9
10
<script th:inline="javascript">
/*<![CDATA[*/
    ...
 
    var user = {'age':null,'firstName':'John','lastName':'Apricot',
                'name':'John Apricot','nationality':'Antarctica'};
 
    ...
/*]]>*/
</script>
cs

정적 페이지에서는 user 변수의 값은 null이 겠죠?

자, 다음은 Adding Code 입니다.

thymeleaf 처리가 되었을때만 특정 스크립트를 추가하고 싶을때 사용할수 있는 기능으로 표현식은 다음과 같습니다.

 

1
2
3
4
5
6
7
8
9
10
var x = 23;
 
/*[+
 
var msg  = 'This is a working application';
 
+]*/
 
var f = function() {
    ...
cs

위와 같이 /*[+ ... +]*/ 표현식으로 작성하게 되면 정적 페이지엣더는 주석으로 처리되고 thymeleaf 처리가 되면 /*[+ ... +]*/ 표현식 안의 스크립트 내용이 작성됩니다. thymeleaf처리후 스크립트 내용은 다음과 같습니다.

1
2
3
4
5
6
var x = 23;
 
var msg  = 'This is a working application';
 
var f = function() {
...
cs

 

그 다음으로는 Removing Code 입니다.

Adding Code와 반대로 정적페이지에서 만 필요한 스크립트 코드를 작성하고 싶을때 사용합니다.

표현식은 /*[- */  ...  /* -]*/ 으로 다음과 같습니다.

1
2
3
4
5
6
7
8
9
10
var x = 23;
 
/*[- */
 
var msg  = 'This is a non-working template';
 
/* -]*/
 
var f = function() {
...
cs

보시는것과 같이 정적 페이지에서는 msg라는 변수가 정의가 되고 값이 할당 되지만 thymeleaf를 처리하게 되면 var msg  = 'This is a non-working template'; 부분이 삭제 됩니다.

 

..

네, 이렇게 Thymeleaf의 기본적인 사용법 정리를 마치도록 하겠습니다.

Thymeleaf를 처음 접해보는 분들에게는 조금이라도 도움이 되길 바라며, 해당 포스팅에 포함된 내용의 대부분은 http://www.thymeleaf.org 에서 원문으로 확인이 가능합니다.

 


thymeleaf 시리즈 1편 내용을 살펴보고 싶다면, 아래 링크를 클릭해주세요.

▶ thymeleaf (server-side template engine) 사용법 정리 - 1


 

 

 

 

 

New Multi-Channel Dynamic CMS

마이크로서비스(Microservices) 기술 뉴스



이번달은 마이크로서비스 관련 기술뉴스를 준비해 보았습니다.

주로 3개월 내에 작성된 국외의 Microservices 관련 뉴스 및 아티클들을 주제별로 정리해 보았습니다.


[2017년 향후 전망]

2017년은 기존 아키턱처에서 Microservices 롤 전환하기 위한 방법으로 API의 적극적인 활용을 언급하고 있습니다.
즉 Microservices의 대규모 이동보다는 API 기술을 활용한 점진적인 변화를 예상하고 있는데요. 이와 관견된 솔루션이나 기술들을 각 기업의 IT관계자 분들은 관심을 가져야 할것 으로 보입니다.

또한 각 기업의 Cloud전환, 즉 PaaS의 전환을 마이크로서비스의 중요한 요인으로 보입니다.니다. 제가 알기로 자사의 IT 서비스를 PaaS 전환을 진행하는 기업이 많지 않다고 알고 있는 상황에서 국내환경은 좀더 지켜봐야 할것 같습니다.



APIs, microservices and the changing role of IT in 2017

In 2017, Microservices, Serverless, SaaS, PaaS and Automation are Strategic. SDDC, HCI and IaaS are Commodities…




[Event  처리 관점]

Event기반의 Microservices 트잰잭션 처리 방안은 가상 현실적이고, 바로 적용이 가능한 기술인것 같아 사이버이메지네이션 사내에서도 유심히 관심을 가지고 지켜보고 있습니다. 개인적으로 Event Sourcing은 참 좋은 방안인것 같으나 위 문서에도 언급했지만 CQRS는 현실에 바로 적용하기에 힘든 점이 있습니다. 업무적으로 Command 와 Query를 명확히 분리하는 것은 아직 애매한 상황이 있습니다.


Developing Transactional Microservices Using Aggregates, Event Sourcing and CQRS - Part 2


The Rise of Event-Driven Computing and the Keys to Microservices Applications




[API 관점]

결론은 광고성 글이지만 API 테스트를 위해 참조해 볼 만한 내용입니다.


How to Approach API Testing for Microservices

Are microservices killing the API conversation?



[Docker 및 Container 관점]
마이크로서비스를 구동하기 위한 방안으로 Docker 가 가장 이상적으로 보입니다.
Self-contained System이라는 독특한 방안으로 Microservices와 Monolithic 의 중간 형태를 제안하는데 개인적으로 해당 방안을 생각했었는데, UI 통합 방안이 약간 아쉽네요.


Microservices and Docker at Scale

Self-contained Systems: A different approach to microservices





[Monolithic 비교]
Monolithic 방식의 문제점과 비교에 그치지 않고 Serverless나 PasS에 언급이 좀 많아졌습니다. 아무래도 PaaS 관련 솔루션이나 서비스 업체의 이상적인 아키텍처 방향이 마이크로서비스인것은 분명한 것 같습니다.


Monolithic vs. microservice architectures for innovation

From Monolith to Microservices

Guest View: Microservices or death: Defusing the monolith time bomb




[CMS 관점]
CMS에 Microservices를 적용하는 기업이 생기기 시작하네요. CMS가 기본적으로 웹사이트의 구축을 도와주는 성격이 강해 아키텍쳐 측면에서도 많은 관심이 필요한데, 향후 마이크로 서비스와 CMS가 어떻게 융합될지 지켜보는 것도 흥미로운 일인 것 같습니다.

DNN's New Content Management System Uses Microservices

Microservices Make Inroads: Replacing the CMS Monolith





[아키텍처 관점]

특별한 내용은 없지만 아키텍처 측면에서 관심이 있으신 분은 일어보면 좋을 것 같습니다.

Moving your enterprise toward microservices governance

Merging SOA and web services to improve microservices management




[보안]

OWASP의 ASVS(Application Security Verification Standard)에 대해 알고 계셨나요? 몰랐다면 한번 읽어보면 좋겠네요.
Trust boundary에 대해서도 같이 알아보세요.


Data-Centric Microservices Security















New Multi-Channel Dynamic CMS

Multi Channel Dynamic CMS 솔루션 bizXpress




bizXpress

얼마전 CMS 솔루션 bizXpress가 버전 1.1 로 업데이트 되었습니다.

하지만! bizXpress가 어떤 녀석인지 잘 모르시는 분들이 많은거 같아  이번 포스팅을 통해 소개 해드릴려고 합니다.

bizXpress를 한문장으로 요약 하자면 '웹 서비스를 위한 동적 컨텐츠 문서를 한번의 손쉬운 편집으로 멀티디바이스에 최적화된  HTML문서 및 인쇄용 PDF문서로 생성/관리 할 수 있는 솔루션' 이라고 할 수 있습니다.



그럼 먼저 bizXpress의 주요 특징을 말하자면 다음과 같이 크게 4가지로 나눌수 있는데요.

누구에게나 손쉬운

웹문서 편집

  • WYSIWYG HTML Editor 제공으로 누구나 손쉽게 문서 편집

  • 다양한 CHART 및 GRID 와 동영상,이미지등 다양한 콤포넌트

  • Template 기능 및 사용자 정의 확장 콤포넌트 지원 

데이터 연계의

한계 극복

  • HTML5 문서에서 Interactive한 사용자 경험을 위한 다양한 포맷의 데이터 제공 및 연계

  • 데이터 연계를 통한 다양한 차트 및 그리드, 텍스트 데이터 표현

진정한

멀티디바이스 지원

  • PC 및 Table, Mobile 환경을 지원하는 Interactive한 문서 작성

  • 인쇄 및 읽기 전용을 위한 PDF 출력 지원

  • 웹 표준 및 웹 접근성을 준수하는 웹 문서 생성

최적의

승인 플로우

  • 문서 작성 및 승인,검토,발행에 대한 직관적인 업무 flow 제공

  • 승인 및 발행에 대한 자세한 이력 관리 기능

WYSIWYG방식의 에디터를 제공하고 드래그&드랍을 지원하기 때문에 필요한 콤포넌트를 마우스 슥슥 가져다 놓기만하면  HTML문서가 뚝딱 생겨납니다. 이렇게 생성된 문서는 기본적으로 모든 크기의 디바이스를 지원하기 때문에 작업 시간을 상당히 단축 시킬 수 있습니다. 그리고 디바이스별로 독립적인 편집이 가능하기 때문에 디바이스 각각의 디자인이 많이 다른 경우에도 원하는 문서를 어렵지 않게 생성 할 수 있습니다. 


또한 데이터 API 서비스 기능이 포함 되어 있어 API 서비스와 연계하여 보다 손쉽게 문서에 동적데이터를 원하는 형태로 표현 할 수 있습니다.

기존 Document 처리 방식

기존 Document 처리 방식

bizXpress 처리 방식

bizXpress 처리 방식

bizXpress는 이모든 과정을 한번의 편집 작업으로 가능하게 합니다.

이제 에디터 화면을 간략히 살펴 볼게요.

bizXpress 에디터 화면

직관적인 편집UI를 제공하여 약간의 학습만 한다면 누구나 어렵지 않게 사용이 가능합니다.

bizXpress 에디터 화면

디바이스별로 독립적으로 편집이 가능하여 여러가지 상황에 대응이 가능합니다.

드래그&드랍을 통한 손쉬운 편집

다양한 차트 설정 옵션

다음으로 차트 콤포넌트 위주로 샘플을 몇개 보여 드리겠습니다.

Chart sample

Treemap sample

초기 설정이 필요합니다.

Scatter sample

초기 설정이 필요합니다.

Horizon sample

초기 설정이 필요합니다.

복잡하게만 보이던 차트도 데이터만 준비되어있다면 손쉽게 문서에 삽입이 가능합니다.

bizXpress는 이런 기본적인 기능뿐만 아니라 문서검수 결재, 권한설정, 문서 이력관리, 다중 서버 배포 등등 강력한 기능을 포함하고 있으며 기술 집합체로서의 단순한 제품이 아닌 Statndard Business Practice를 포괄하고 있습니다. 

제시된 Process를 정해진 정해진 Vision과 목표에 맞게 조정하여 사용함으로써 경쟁력을 더욱 강화해 드릴 것입니다.


더 자세한 내용을 원하시거나 문의 사항이 있으시면  http://www.cyber-i.com/CMS/bizXpress.htm 방문해 주시거나 유선 02-784-2503 혹은 포스팅의 댓글로 가능합니다. 


※해당 포스팅은 bizXpress를 통해 작성 되었습니다.

New Multi-Channel Dynamic CMS