질문/조언질답게시판
Extra Form
PHP PHP 7.2
CMS Rhymix 2.x

gif to mp4컨버터 모듈 사용 등에 관한 문제인데요.

 

모듈이 글 등록시 첨부된 gif 를 Mp4로 변환해주어서 사이트에 적용되어 잘 사용하고 있습니다.

그런데 자동첨부 애드온을 사용할 경우 첨부된 gif 가 변환이 되지 않습니다.

 

게시글 수정을해서 등록을 다시 해주면 이때는 첨부된 gif가 다시 체크되어 변환이 됩니다.

 

사용자들이 이를 알 수도 없고 알아도 실제로 행동에 옮겨줄리가 만무합니다.

 

게시글 열람시에도 미변환 된 gif가 있다면 다시 변환되도록 모듈쪽에 의견을 초기에 드렸지만 유지보수가 안되고 있는 상황이라...

 

뭔가 추가적인 애드온을 통해 gif 변환이 안된것이 있다면 글 열람시 체크되어 자동으로 글 수정,등록을 해주어야 하나 하는 꼼수까지 생각하게 되었습니다.

 

물론 애드온으로 모듈의 컨버팅하는 함수들을 추가로 실행하거나 하는 작업도 있을 것 같긴 한데 모듈이 암호화 되어 있어 중요부분을 참조하기가 어려운 상황이네요.(물론 외부에서 컨버팅 기능을 실행할 수 있도록 배려를 하지 않았을까 하는 짐작은 ...)

 

게시글을 수정,등록 과정을 자동을 해줄 수 있는 함수가 있을까요?

  • profile

    모듈을 직접 수정할 수 없는 상황이라면 말씀대로 "게시글 등록 후 정상 처리되지 않았을 때"인 경우 타인이 게시글을 열람 혹은 본인이 글을 쓰고 나면 게시글 보기로 이동될 때(display 혹은 proc) 애드온으로 모듈에서 재호출을 통해 해결할 수 있다면 그렇게 하시는것도 나쁘지 않을 것 같습니다. 라이믹스도 XE와 크게 다르지 않았던 것 같으니 updateDocument 같은 함수를 호출하면 될 것 같네요. 단, 다른 동작이 다시 발생한다는 점에서는 성능하락이 일어날 수 있으니 사실 직접 수정하는게 제일 좋아보이기는 하지만요 ...

  • profile profile
    updateDocument() 함수가 사용자가 수정버튼을 누르고 등록을 누른 것과 같은 결과를 만들어주나요?
  • profile profile

    게시글 수정시에 Document 모듈에서 해당 함수를 호출해서 수정하는 것으로 기억하고 있습니다 :D

  • profile

    모듈이라면 트리거를 받아서 변환 작업을 해주고 있을 테니,

    그 모듈이 사용하는 트리거 함수만 따로 호출해 주는 방법도 있겠습니다.

    예를 들어 글을 수정하면 document.updateDocument (before, after) 트리거가 호출되는데

    DB에서 module_trigger 테이블을 살펴보시면 그 트리거에 어느 모듈이

    어떤 함수를 걸어놨는지 알 수 있으니 그 함수만 따로 호출해 보세요.

  • profile profile

    어떤 의미인지 정확히 이해하기 어렵지만...

     

    화면 캡처 2021-08-12 123157.png

  • profile profile

    getController('z_gifconvert')->triggerupdateDocumentAfter($trigger_obj);

    원하시는 타이밍에 이런 코드를 넣어주면 글 수정하는 것과 동일한 효과일 것 같습니다.
    단, 실제로 글을 수정했을 때 documentController에서 생성하여 넘겨주는
    $trigger_obj와 동일한 구조로 데이터를 넘겨주어야 정상 작동하겠지요.
    여기에는 아마 document_srl, content 등이 담겨 있을 테고요.

  • profile profile
    암호화 되어있는 것을 유추해서 뭔가 해보는 것도 너무 어렵네요 ㅜㅡ
  • profile

    게시글 등록시에는 procBoardInsertDocument 이 함수를 사용합니다.

    근데 수정에서도 이 함수를 그대로 사용합니다.

    거기에서 게시글 등록시 insertDocument 를 호출하고 수정이 된다면 updateDocument를 호출하게 됩니다. (여기까지의 함수이야기..)

    파일 첨부를 통해서 첨부파일에 업로드할때는 board에서도 약간 다르게 미리 document_srl 및 file_srl 이 부여되는 방식으로 들어가기 때문에 좀 자동첨부 기능과 약간 다르다고 보는게 맞습니다.

    자동 첨부를 이용하여 gif가 들어갓다는 것은 "에디터"에 있는 첨부파일 시스템을 쓴 게 아니라 "외부"에서 해당 파일을 다운로드 받아 자동으로 파일첨부 작업을 따로 해줬다고 이해하시면 더 쉽습니다.

    아마 gif->mp4변환 작업의 경우 게시글등록시 파일 첨부기능을 통해서만 자동 변환이 이루어질 거예요.

    즉, 사용자가 직접 다시 한 번 글 작성 페이지에서 직접 수정해서 해당 파일을 변환하도록 게시글 작성하는 작업이 필요한 상황일텐데요.. 그건 자동화 되는게 거의 봇을 만드는 수준인거고요.

    첨부하는 내용이 정상적으로 파일모듈의 insertFile을 재대로 호출하여서 만들었다면 글쓰기에 정상적으로 나타나야 할거예요.

    하지만 그렇지 않은 상황이니 외부에서 강제적으로 파일을 첨부하는 방식인지 등등을 좀 파악해보실 필요가 있을 것 같네요.

  • profile profile

    api 를 이용해서 api 서버를 이용하는 경우는 게시글 열람시에 미처리된 파일들을 다시 처리하는 작동을 합니다. 그런데 이런 자세한 부분은 모두 콘트롤러에 있는 듯 한데 거긴 암호화 되어 있어 참조 조차 어렵네요.

    개발자분이 자체 서버에서도 애드온 등에 의해 나중에 첨부되는 파일들을 고려해서 동일하게 게시글 열람시에 한번더 체크해서 작동하도록 검토해 주시면 좋은데 검토해 보시겠다는 답변 이후 해당 자료는 업데이트가 아예 없어서....

     

    이미지 자동첨부 애드온은 기진곰님께서 만드신 애드온입니다.

    아마 말씀하신 부분때문에 발생되는 것이 맞을 겁니다. 기본적으로 애드온 작동 시점이 after_module_proc 입니다.

    따라서 코어에서 작동하는 첨부파일 리사이즈 등도 반영되지 않습니다.

    https://github.com/poesis/xe-autoattach